如何翻译文件 int 2-D 数组



我有一个由数字组成的文件数组.txt。我需要用它制作一个 2D 数组。我该怎么做?

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

必须有 2 个变量...读取文件直到读取新行,将每个数字放入 arr[column][row] 并在列中添加 1,读取新行时将 1 添加到行并再次读取新中的数字。

+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

相关内容

  • 没有找到相关文章

最新更新