Если у меня есть файл с 64 * 64 целыми числами. (Первый 64 будет номером 0, а следующий 64 будет строкой 1 и т. Д.). Как сохранить эту таблицу в 2D-массиве. Вот мой кодСохранение 64 * 64 целых чисел из файла в 2D-массив
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream infile;
infile.open("table.txt");
if (infile.fail())
{
cout << "could not open file" << endl;
exit(6);
}
int array[63][63];
while (!infile.eof())
{
infile >> array[63][63];
}
cout << array[63][63] << endl;
return 0;
}
, когда это выполняется я получаю только «1»
Каждый раз, когда ваши перебирает время цикла, вы назначая INFILE результат в массив [63] [63], а не изменения х, у (или любой другой индексы) и заполнение всего массива. –
Во-первых, [это неверно: 'while (! Infile.eof())'] (https://stackoverflow.com/questions/5605125/why-is-iostreameof-inside-a-loop-condition-considered- неправильно). И вы всегда читаете * тот же * элемент, переписывая каждую итерацию. Ваш вывод является единственным значением именно потому, что это то, что делает ваш код; одно выходное значение: 'cout << array [63] [63] << endl;'. Я думаю, вам нужно просмотреть части изучаемого вами языка, потому что здесь немного пропало. – WhozCraig
'infile >> array [63] [63];' это выходит за рамки и является неопределенным поведением. –