Итак, я пытаюсь прочитать двумерный массив из файла, найти наименьшее число в этом массиве и затем вычесть это число из каждого элемента в массиве. мой файл "ola4.dat" содержит:
1 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2
Я сделал файл, чтобы было легко заметить, что он работает, потому что он должен печатать 0 и все 1. По какой-то причине мой вывод:
1 2 2 2 2
2 2 2 2 2
2 2 2 2 2
2 2 2 2 2
2 2 2 2 2
Может кто-нибудь сказать мне, где я иду не так?
Спасибо
#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;
int main ()
{
int numbers[5][10]; //array
int count 0;
ifstream myIn; //file name for ola4.dat
int lowest;
myIn.open("ola4.dat");
//loop to read in 2D array
for(int i = 0; i < 5; i++){
for(int j = 0; j < 10; j++){
myIn >> numbers[i][j];
}
}
lowest = numbers[0][0]; //setting lowest to first element in array
//loop to find lowest
for (int i = 0; i <5; i++){
for (int j = 0; j < 10; j++){
if(numbers[i][j] < lowest)
lowest = numbers[i][j];
}
}
//loop to subtract lowest from each element in the array
for (int i = 0; i <5; i++){
for (int j = 0; j < 10; j++){
numbers[i][j] - lowest;
}
}
//loop to print each element in the array
for (int i = 0; i <5; i++){
for (int j = 0; j <10; j++){
cout << numbers[i][j] <<' ';
}
cout << endl;
}