03. Above average
#include <iostream>
#include <cmath>
#include <array>
using namespace std;
int main()
{
int totalNumbers = 0;
cin >> totalNumbers;
array<int, 10> aboveAverage;
int total = 0;
double average;
int lower = INT_MAX;
int higher = INT_MIN;
int highest = INT_MIN;
int nums = 0;
for(int i = 0; i < totalNumbers; i++)
{
cin >> aboveAverage[i];
total += aboveAverage[i];
}
average = total / totalNumbers * 1.0;
for(int n = 0; n < totalNumbers; n++)
{
if(aboveAverage[n] > average)
{
highest = aboveAverage[n];
if(aboveAverage[n] > average && aboveAverage[n] < highest)
{
higher = aboveAverage[n];
}
}
else if(aboveAverage[n] == average)
{
lower = aboveAverage[n];
}
}
if(totalNumbers == 1)
{
cout << average << endl;
}
else
{
cout << lower << " " << higher << " " << highest << endl;
}
return 0;
}
На първия output ми намира lower и highest, но не и higher. За втория output работи. Но за третия не. Опитах се да го изкарам в масив извън main но ми дава всевъзможни грешки. Тези вектори и масиви тотално пи пръсват главата. Колкото и да гледам лекцията нищо не помага за решаването на задачитe.
Я виж ти. Проработи.
Само закоментирах отдолу проверката при само 1 число за да не го повтаря 2 пъти.