Treść Zadania 2 z rozdziału 6
Napisz program odczytujący do 10 datków do tablicy wartości double. Program ma kończyć wczytywanie danych po podaniu wartości nieliczbowej . Na koniec program ma pokazać średnią liczb oraz podać te wartości z tablicy, które od tej średniej są większe.
Witam, mam problem w trakcie wykonywania programu, który polega na tym, że oprócz wskazania wartości wyższych od średniej pojawiają się dodatkowe liczby niewiadomego pochodzenia.
W związku z powyższym bardzo proszę o:
- pomoc/wskazówkę w rozwiązaniu problemu,
- pomoc/wskazówkę jak skonstruować kod, aby zdanie: "Datki większe od średniej to: " wraz z takimi wartościami wyświetlało się tylko w przypadku gdy rzeczywiście takie wartości będą,
- ogólną ocenę kodu (wskazanie np. co można poprawić/ulepszyć).
Z góry dziękuję za pomoc.
Poniżej kod:
#include <iostream>
using namespace std;
const int ArSize = 10;
int main()
{
double datki[ArSize];
double suma = 0.0;
double srednia = 0.0;
int i=0;
cout << "Prosze podaj wysokosc wplaconych datkow";
cout << " (max. ilosc danych to 10): " << endl;
for (i = 0; i < ArSize; i++)
{
cout << " Datek numer "<<i+1<<": ";
cin >>datki[i];
suma += datki[i];
srednia = suma/i;
if(!(datki[i]))
break;
}
cout << "\nSrednia datkow to: "<<srednia<<endl;
cout << "Datki wieksze od sredniej to: ";
for(int i = 0; i<ArSize; i++)
{
if(datki[i]>srednia)
cout <<datki[i]<<"\t";
}
cout <<endl;
return 0;
}