Skończyłem oglądać 11 odcinek kursu C++ i wziąłem się robienie zadania domowego z tego odcinka. Zadanie polegało na tym by program obliczył średnią z podanych liczb, a następnie wskazał liczby z tych podanych, które są najbliższe średniej. Myślę, że zrobiłem to zadanie poprawnie, lecz mam jeden problem. Gdy podaje liczby: 3, 5, 3, 1, 3 to program wyświetla "Liczba(y) najblizsze sredniej to: 3 3 3 ". Wiem dlaczego się tak dzieje, ale chciałbym by program tylko raz wyświetlił liczbę 3. Proszę o pomoc, niżej wstawiam kod.
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
cout<<"Podaj z ilu liczb bedziesz liczyl srednia ";
int ile;
cin>>ile;
float *liczba;
liczba=new float[ile];
cout<<endl;
for(int i=0; i<ile; i++)
{
cout<<"Wprowadz "<<i+1<<" liczbe: ";
cin>>liczba[i];
}
float suma=0;
for(int i=0; i<ile; i++)
{
suma=suma+liczba[i];
}
float srednia=suma/ile;
cout<<endl<<"Srednia wynosi: "<<srednia<<endl;
float najmroznica=fabs(srednia-liczba[0]);
for(int i=0; i<ile; i++)
{
if(fabs(srednia-liczba[i])<najmroznica)
{
najmroznica=fabs(srednia-liczba[i]);
}
}
cout<<endl<<"Liczba(y) najblizsze sredniej to: ";
for(int i=0; i<ile; i++)
{
if(fabs(srednia-liczba[i])==najmroznica)
{
cout<<liczba[i]<<" ";
}
}
delete [] liczba;
return 0;
}