Zostałem przydzielony do ustawienia tablicy z punktami. Mówi się, żebym uzyskał maksymalną wartość, średnią iw obrębie tej samej tablicy, jeśli dowolny punkt w tablicy jest dwa razy większy od średniej, powinienem być cout
"odstający". Do tej pory otrzymałem średnie i maksymalne liczby w tablicy. ale nie mogę ustawić programu na wartość zewnętrzną. Zamiast tego daje mi wielokrotność średniej. tutaj jest program;Próba uzyskania liczby w tablicy, która jest dwukrotnie większa od średniej
int main()
{
const int max = 10;
int ary[max]={4, 32, 9, 7, 14, 12, 13, 17, 19, 18};
int i,maxv;
double out,sum=0;
double av;
maxv= ary[0];
for(i=0; i<max; i++)
{
if(maxv<ary[i])
maxv= ary[i];
}
cout<<"maximum value: "<<maxv<<endl;
for(i=0; i<max; i++)
{
sum = sum + ary[i];
av = sum/max;
}
cout<<"average: "<<av<<endl;
out = av * 2;
if(ary[i]>out)
{
cout<<"outlier: "<<maxv<<endl;
}
else
{
cout<<"ok"<<endl;
}
return 0;
}
Dziękujemy za opublikowanie swojej pracy! Widzę tutaj najczęściej zadawane pytania w stylu prac domowych z jedynie pytaniem i oczekiwaniem, że społeczność rozwiąże je dla nich. To pokazuje, że włożyłeś w to uwagę i chciałbyś pomóc w niektórych aspektach problemu. Dzięki! –
Warto zauważyć, że linia 'av = sum/max' może zostać przeniesiona poza pętlę.W tej chwili najpierw obliczasz średnią z pierwszych 1 elementów, następnie średnią z pierwszych 2 elementów, następnie średnią z pierwszych 3 ... w ostatniej iteracji przez ciebie obliczasz średnią z pierwszych 10 elementów (tj. elementów), a następnie po zakończeniu pętli, wyprowadzasz to ostatnie obliczenie. – Domenic