Я делаю программу, которая просила пользователя открыть и существующий текстовый файл. Программа должна прочитать числа из файла и сохранить их в массивах. Я должен создать различные функции с этими числами в массиве, такие как получение наибольшего числа, наименьшего числа, суммы и среднего. Я уже выполнил функции, но я не знаю, как извлечь числа из массива.
Вот пример чисел, но вместо того, чтобы разделить их пробелами, они разделены новой строкой.
53 22 87 103 -3 75 220 1 64 543 98 44
int getLowest(int num[], int size);
int getHighest(int num[], int size);
int getSum(int num[], int size);
int getAverage(int num[], int size);
int main()
{
string fileName;
ifstream inputFile;
const int ARRAY_SIZE = 12;
int numbers[ARRAY_SIZE];
cout << "Enter the name of imput file: ";
cin >> fileName;
inputFile.open(fileName);
if (inputFile)
{
cout << " numbers read from input file.\n"
<< "The lowest value is " << getLowest(numbers, ARRAY_SIZE) << endl;
}
else
{
//Display error message
cout << "Error, this file does not exist.";
}
system("pause");
}
int getLowest(int num[], int size)
{
int temp = num[0];
for (int i = 0; i < size; i++)
{
if (temp < num[i])
{
temp = num[i];
}
}
return temp;
}
int getHighest(int num[], int size)
{
int temp = num[0];
for (int i = 0; i > size; i++)
{
if (temp > num[i])
{
temp = num[i];
}
}
return temp;
}
int getSum(int num[], int size)
{
int sum = 0;
for (int i = 0; i < size; i++)
{
sum += num[i];
}
return sum;
}
double getAverage(int num[], int size)
{
int sum = 0;
double average;
for (int i = 0; i < size; i++)
{
sum += num[i];
}
average = sum / size;
return average;
}
Когда я открываю файл с числами, показанными выше, полученный результат не работает. Я получаю:
010FFCE0 чисел, прочитанных из входного файла. Самое низкое значение - 1968178332
. Там, где написано "010FFCE0", я хотел бы получить то, что говорит о количестве значений, и самое низкое значение, которое я хотел бы, чтобы оно было фактическим самым низким значением.