Функция, которая читает целые числа и заполняет ими двумерный массив - PullRequest
0 голосов
/ 29 марта 2020

Необходимо написать программу, которая считывает переменное число целых чисел из разных файлов ifstream, а затем заполняет массивы этими целыми числами. Некоторые из файлов ifstream имеют массивы 5x5, а некоторые - 10x10.

пример файла ifstream: rows = 5; // rows cols = 5; // cols

1 0 1 0 1 0 1 1 0 1 1 1 1 1 1 0 0 0 0 0 1 0 1 0 1

1 0 1 0 0 0 0 1 0 1 1 1 0 1 0 0 1 0 0 1 0 1 0 1 1

Необходимо прочитать все эти целые числа и затем заполнить их 2-мерными массивами. Пытаюсь написать функцию, которая будет использовать переменные для размера измерений, и я не уверен, как это сделать.

    void open_inFile(ifstream&);
    void read_data(ifstream&, int&, int&, int[][numCols], int[][numCols]);
    void calculate_array_results();
    void print_input_results(int&, int[][numCols], int[]][numCols]);
    void print_output_results();
    void print_decimal_values();
    void calculate_integer();
    int main()
     {
       ifstream inFile;
       //const int numRows = 10;
      //const int numCols = 10;
      int rows;
      int cols;
      int array1[][cols];
      int array2[][cols];


    void read_data(ifstream& inFile, int& rows, int& cols, int array1[][cols],x int array2[] 
    [cols])
    {
       while(inFile) // while ! EOF
     {
        infile >> rows; // get array # of rows
        infile >> cols; // get array # of cols
        for (row = 0; row < rows; row++)
         for (col = 0; col < cols; col++)
           array1[row][col] = row+col;  // build grid
        inFile >> array1[row][col];  //populate
       infile.ignore(INT_MAX,'\n');  // ignore blank line between arrays
       for (row = 0; row < rows; row++)
        for (col = 0; col < cols; col++)
        array2[row][col] = row+col; // build grid
       infile >> array2[row][col]    // populate
      }
    }
...