Мне нужна эта функция, чтобы распечатать максимальную, минимальную и среднюю значения всех значений, введенных в массив. Я столкнулся с проблемой, что программа будет распечатывать только последнее значение, введенное для массива. Ex. Если я нахожу 43, 78 и 23, он будет печатать только 23 для среднего, макс и мин. Что я делаю неправильно, чтобы получить этот результат?Эта функция выводит только последнее значение, введенное в массив
#include <iostream>
using namespace std;
float temptotal = 0;
float averagetemp = 0;
float temperatures[50];
float average();
void highest();
void lowest();
int main()
{
average();
highest();
lowest();
}
float average()
{
float days = 0;
cout << "Enter the number of days: ";
cin >> days;
if (days > 50)
{
cout << "You may only enter temperatures for 50 days." << endl;
return 0;
}
for (int i = 1; i <= days; i++)
{
cout << "Enter the temperature for day number " << i << ": ";
cin >> temperatures[50];
}
temptotal += temperatures[50];
averagetemp = (temptotal/days);
cout << "The average temperature is: " << averagetemp << endl;
return temperatures[50];
}
void highest()
{
float max = -9999999999999;
if (temperatures[50] > max)
max = temperatures[50];
cout << "The highest temperature is: " << max << endl;
}
void lowest()
{
float min = 9999999999999;
if (temperatures[50] < min)
min = temperatures[50];
cout << "The lowest temperature is: " << min << endl;
}
Код max и min не работает, я продолжаю получать ошибку с переменной days. – Millet123
Millet123, это относится к температурам [50], которые являются недействительными. Я удалил сообщение User3946110, код которого должен работать сейчас. – Persixty
Он не работает, я получаю сообщение о том, что переменная days не инициализирована. – Millet123