Dobry wieczór. Dopiero dołączyłem do forum i przyznam, że to moje początki więc proszę o wyrozumiałość. Próbuje rozwiązać zadanie ze SPOJa 1102 - Średnia arytmetyczna. Nie potrafię sprawić aby program podał pierwszą liczbę najbliższą średniej. W ostatnich danych wyjściowych otrzymuje wyniki 3 i 2 bowiem odległość od średniej jest w ich przypadku taka sama. Help
Input:
3 - liczba testów
ile liczb wprowadzamy -4- liczby -1 2 3 4
-4- 4 3 2 1
-4- 0 3 2 4
Output:
2
3
2
#include <iostream>
#include <cmath>
using namespace std;
double tablica[100], proba,ile;
double suma, srednia, wynik;
int main()
{
cin>>proba;
for (int i=0; i<proba; i++)
{
cin>>ile;
for (int i=0; i<ile; i++)
{
cin>>tablica[i];
suma+=tablica[i];
}
srednia=suma/ile;
wynik=tablica[0];
for (int i=0; i<ile; i++)
{
if (abs(srednia-tablica[i])<(abs(srednia-wynik)))
{
wynik=tablica[i];
cout<<wynik<<endl;
}
}
suma=0;
srednia=0;
}
return 0;
}