my c++ code isn't working, i want to transfer numbers 1-9 in my file to an 2D array but the array only gets 9 being put into it. the file is also returning an extra 9. Below is the code: #include #include using namespace std; int main() { int numbers; const int rows = 3; const int columns = 3; int array [rows] [columns]; ofstream write; write.open("file.txt"); write << 1 << endl << 2 << endl << 3 << endl << 4 << endl << 5 << endl << 6 << endl << 7 << endl << 8 << endl << 9 << endl; write.close(); ifstream read ("file.txt"); while (!read.eof()) { if (read.eof()) break; read >> numbers; cout << numbers << endl; for (int r = 0; r < rows; r++) { for (int c = 0; c < columns; c++) { array [r] [c] = numbers; } } } for (int r = 0; r < rows; r++) { for (int c = 0; c < columns; c++) { cout << array [r] [c] <<" "; } cout << endl; } }
my c++ code isn't working, i want to transfer numbers 1-9 in my file to an 2D array but the array only gets 9 being put into it. the file is also returning an extra 9. Below is the code:
#include <iostream>
#include <fstream>
using namespace std;
int main() {
int numbers;
const int rows = 3;
const int columns = 3;
int array [rows] [columns];
ofstream write;
write.open("file.txt");
write << 1 << endl << 2 << endl << 3 << endl << 4 << endl << 5 << endl << 6 << endl << 7 << endl << 8 << endl << 9 << endl;
write.close();
ifstream read ("file.txt");
while (!read.eof())
{
if (read.eof())
break;
read >> numbers;
cout << numbers << endl;
for (int r = 0; r < rows; r++)
{
for (int c = 0; c < columns; c++)
{
array [r] [c] = numbers;
}
}
}
for (int r = 0; r < rows; r++)
{
for (int c = 0; c < columns; c++)
{
cout << array [r] [c] <<" ";
}
cout << endl;
}
}
Step by step
Solved in 4 steps with 3 images