[COLOR=#0000ff]'writing and reading text file[/color]
[COLOR=#804040][b]Const[/b][/color] N = [COLOR=#ff00ff]8[/color]
[COLOR=#804040][b]Dim[/b][/color] A(N - [COLOR=#ff00ff]1[/color], N - [COLOR=#ff00ff]1[/color])
[COLOR=#804040][b]Dim[/b][/color] B(N - [COLOR=#ff00ff]1[/color], N - [COLOR=#ff00ff]1[/color])
data_file[COLOR=#2e8b57][b]$[/b][/color] = [COLOR=#ff00ff]"my_data.txt"[/color]
quote_char[COLOR=#2e8b57][b]$[/b][/color] = Chr[COLOR=#2e8b57][b]$[/b][/color]([COLOR=#ff00ff]34[/color])
tab_char[COLOR=#2e8b57][b]$[/b][/color] = Chr[COLOR=#2e8b57][b]$[/b][/color]([COLOR=#ff00ff]9[/color])
[COLOR=#0000ff]'populate matrix A with random data and print it[/color]
[COLOR=#804040][b]Print[/b][/color] [COLOR=#ff00ff]"matrix A:"[/color]
[COLOR=#804040][b]For[/b][/color] i = [COLOR=#ff00ff]0[/color] To N - [COLOR=#ff00ff]1[/color]
[COLOR=#804040][b]For[/b][/color] j = [COLOR=#ff00ff]0[/color] To N - [COLOR=#ff00ff]1[/color]
[COLOR=#804040][b]Randomize[/b][/color] [COLOR=#804040][b]Timer[/b][/color]
A(i, j) = [COLOR=#008080]Int[/color]([COLOR=#008080]Rnd[/color] * [COLOR=#ff00ff]100[/color])
[COLOR=#804040][b]Print[/b][/color] [COLOR=#804040][b]Using[/b][/color] [COLOR=#ff00ff]" ##"[/color]; A(i, j);
[COLOR=#804040][b]Next[/b][/color] j
[COLOR=#804040][b]Print[/b][/color] '[COLOR=#804040][b]next[/b][/color] [COLOR=#804040][b]line[/b][/color]
[COLOR=#804040][b]Next[/b][/color] i
[COLOR=#804040][b]Print[/b][/color]
[COLOR=#804040][b]Print[/b][/color] [COLOR=#ff00ff]"Writing matrix A to the file "[/color] _
+ quote_char[COLOR=#2e8b57][b]$[/b][/color] + data_file[COLOR=#2e8b57][b]$[/b][/color] + quote_char[COLOR=#2e8b57][b]$[/b][/color]
[COLOR=#804040][b]Print[/b][/color]
[COLOR=#0000ff]'write matrix A into the file[/color]
[COLOR=#0000ff]'numbers are separated by tab-characters[/color]
[COLOR=#804040][b]Open[/b][/color] data_file[COLOR=#2e8b57][b]$[/b][/color] [COLOR=#804040][b]For[/b][/color] Output As [COLOR=#2e8b57][b]#1[/b][/color]
[COLOR=#804040][b]For[/b][/color] i = [COLOR=#ff00ff]0[/color] To N - [COLOR=#ff00ff]1[/color]
output_line[COLOR=#2e8b57][b]$[/b][/color] = [COLOR=#ff00ff]""[/color]
[COLOR=#804040][b]For[/b][/color] j = [COLOR=#ff00ff]0[/color] To N - [COLOR=#ff00ff]1[/color]
A_i_j[COLOR=#2e8b57][b]$[/b][/color] = LTrim[COLOR=#2e8b57][b]$[/b][/color](Str[COLOR=#2e8b57][b]$[/b][/color](A(i, j)))
[COLOR=#804040][b]If[/b][/color] j < N - [COLOR=#ff00ff]1[/color] [COLOR=#804040][b]Then[/b][/color]
output_line[COLOR=#2e8b57][b]$[/b][/color] = output_line[COLOR=#2e8b57][b]$[/b][/color] + A_i_j[COLOR=#2e8b57][b]$[/b][/color] + tab_char[COLOR=#2e8b57][b]$[/b][/color]
[COLOR=#804040][b]Else[/b][/color]
output_line[COLOR=#2e8b57][b]$[/b][/color] = output_line[COLOR=#2e8b57][b]$[/b][/color] + A_i_j[COLOR=#2e8b57][b]$[/b][/color]
[COLOR=#804040][b]End[/b][/color] [COLOR=#804040][b]If[/b][/color]
[COLOR=#804040][b]Next[/b][/color] j
[COLOR=#804040][b]Print[/b][/color] [COLOR=#2e8b57][b]#1[/b][/color], output_line[COLOR=#2e8b57][b]$[/b][/color]
[COLOR=#804040][b]Next[/b][/color] i
[COLOR=#804040][b]Close[/b][/color] [COLOR=#2e8b57][b]#1[/b][/color]
[COLOR=#804040][b]Print[/b][/color] [COLOR=#ff00ff]"Reading data from the file "[/color] _
+ quote_char[COLOR=#2e8b57][b]$[/b][/color] + data_file[COLOR=#2e8b57][b]$[/b][/color] + quote_char[COLOR=#2e8b57][b]$[/b][/color] _
[COLOR=#ff00ff]" into matrix B"[/color]
[COLOR=#804040][b]Print[/b][/color]
[COLOR=#804040][b]Open[/b][/color] data_file[COLOR=#2e8b57][b]$[/b][/color] [COLOR=#804040][b]For[/b][/color] [COLOR=#804040][b]Input[/b][/color] As [COLOR=#2e8b57][b]#1[/b][/color]
i = [COLOR=#ff00ff]0[/color]
[COLOR=#804040][b]Do[/b][/color] [COLOR=#804040][b]While[/b][/color] Not [COLOR=#008080]EOF[/color]([COLOR=#ff00ff]1[/color])
[COLOR=#0000ff] 'input_line has the structure:[/color]
[COLOR=#0000ff] 'NUM TAB NUM TAB .. TAB NUM CR LF[/color]
[COLOR=#804040][b]Input[/b][/color] [COLOR=#2e8b57][b]#1[/b][/color], input_line[COLOR=#2e8b57][b]$[/b][/color]
[COLOR=#0000ff] 'parse numbers from the input_line string[/color]
[COLOR=#0000ff] 'and store them into the matrix B[/color]
start = [COLOR=#ff00ff]1[/color]
[COLOR=#804040][b]For[/b][/color] j = [COLOR=#ff00ff]0[/color] To N - [COLOR=#ff00ff]1[/color]
tab_idx = InStr(start, input_line[COLOR=#2e8b57][b]$[/b][/color], tab_char[COLOR=#2e8b57][b]$[/b][/color])
[COLOR=#804040][b]If[/b][/color] tab_idx [COLOR=#804040][b]Then[/b][/color]
B(i, j) = [COLOR=#008080]Val[/color](Mid[COLOR=#2e8b57][b]$[/b][/color](input_line[COLOR=#2e8b57][b]$[/b][/color], start, tab_idx - start + [COLOR=#ff00ff]1[/color]))
start = tab_idx + [COLOR=#008080]Len[/color](tab_char[COLOR=#2e8b57][b]$[/b][/color])
[COLOR=#804040][b]Else[/b][/color]
line_len = [COLOR=#008080]Len[/color](input_line[COLOR=#2e8b57][b]$[/b][/color])
B(i, j) = [COLOR=#008080]Val[/color](Mid[COLOR=#2e8b57][b]$[/b][/color](input_line[COLOR=#2e8b57][b]$[/b][/color], start, line_len - start + [COLOR=#ff00ff]1[/color]))
[COLOR=#804040][b]End[/b][/color] [COLOR=#804040][b]If[/b][/color]
[COLOR=#804040][b]Next[/b][/color]
i = i + [COLOR=#ff00ff]1[/color]
[COLOR=#804040][b]Loop[/b][/color]
[COLOR=#804040][b]Close[/b][/color] [COLOR=#2e8b57][b]#1[/b][/color]
[COLOR=#0000ff]'print matrix B[/color]
[COLOR=#804040][b]Print[/b][/color] [COLOR=#ff00ff]"matrix B:"[/color]
[COLOR=#804040][b]For[/b][/color] i = [COLOR=#ff00ff]0[/color] To N - [COLOR=#ff00ff]1[/color]
[COLOR=#804040][b]For[/b][/color] j = [COLOR=#ff00ff]0[/color] To N - [COLOR=#ff00ff]1[/color]
[COLOR=#804040][b]Print[/b][/color] [COLOR=#804040][b]Using[/b][/color] [COLOR=#ff00ff]" ##"[/color]; B(i, j);
[COLOR=#804040][b]Next[/b][/color] j
[COLOR=#804040][b]Print[/b][/color] '[COLOR=#804040][b]next[/b][/color] [COLOR=#804040][b]line[/b][/color]
[COLOR=#804040][b]Next[/b][/color] i