2017-01-31 5 views
0

私は数字で構成されるファイルarray.txtを持っています。私はそれから2D配列を作る必要があります。どうやってやるの?file int 2-D arrayの変換方法は?

0 6 10 0 0 0 0 0 0 0 
6 0 12 11 14 0 0 0 0 0 
10 12 0 12 0 0 8 16 0 0 
0 11 12 0 0 6 3 0 0 0 
0 14 0 0 0 4 0 0 6 0 
0 0 0 6 4 0 0 0 12 0 
0 0 8 3 0 0 0 0 16 6 
0 0 16 0 0 0 0 0 0 8 
0 0 0 0 6 12 16 0 0 13 
0 0 0 0 0 0 6 8 13 0 

答えて

0

あなたは... のための2変数を持つ新しいラインを読むまでファイルを読み、ARR [コラム] [行]内のすべての番号を入れて、に1を追加する必要があります列、読んだ場合改行行に1を加え、改行で改行番号をもう一度読んでください。

0

+ combo_ciが正しいです。ファイルを読み込み、列を増やすためのスペースを探し、新しい行をCR-LFと組み合わせて行を増やす必要があります。ここでは、Excel CSVファイルを読み直すために修正した例を示します。唯一の違いは、コンマ区切りをスペースで置き換えたことです。

'Reading a space deliminted file 
    TextWindow.Show() 

    LoadFile() 
    TextWindow.WriteLine("File Size = " + Text.GetLength(DataIn)) 
    ParseFile() 
    TextWindow.WriteLine("Rows = " + rows + ", Columns = " + cols) 
    DisplayTable() 

    '--------------------------------------------------------------- 

    'Read the contents of the CSV style (spaces instead of commas) file into memory 
    Sub LoadFile 
     filename = Program.Directory 
     filename = filename + "\excelintoSB.csv" 

     DataIn = File.ReadContents(filename) 
    EndSub 

    'Parse the file contents, looking for spaces and line breaks to separate the cells. 
    Sub ParseFile 
     row = 1 
     col = 1 
     cell = "" 

     For i =1 To Text.GetLength(DataIn) 'Look at each character in the file 
     ch = Text.GetSubText(DataIn,i,1) 
     'Is it a space or a cariage return? Store the Cell 
     If ch = " " or text.GetCharacterCode(ch) = 13 then 
      table[row][col] = cell 
      cell = "" 
      If text.GetCharacterCode(ch) = 13 Then 'end of row, start a new one 
      row = row + 1 
      col = 1 
      Else 'New Cell, current row 
      col = col + 1 
      If col > maxCol then 'Keep track of how many columns we have encountered 
       maxCol = col 
      endif 
      endif 
     ElseIf text.GetCharacterCode(ch) <> 10 then 'build the cell, ignoring line feeds. 
      cell = cell + ch 
     EndIf 
     EndFor 
     rows = row - 1 
     cols = maxCol 
    EndSub 

    'Display the table in row/column format 
    Sub DisplayTable 
     TextWindow.WriteLine("The Table --- ") 
     For i = 1 To rows 
     TextWindow.Write("[ ") 
     For j = 1 To cols 
      TextWindow.Write(table[i][j] + " ") 
     EndFor 
     TextWindow.WriteLine("]") 
     EndFor 
    EndSub 
関連する問題