Witam.
Mógłby ktoś mnie oświecić jak poprawić to co napisałem tak, żeby program sprawdzał czy wartość ciągu cyfr jedności jest większy, niż 1/10 średniej arytmetycznej całych liczb? Doszedłem do tego, że w void srednia_arytmetyczna zapisuje się wartość liczby wynik2 z pętli for i przez to w sprawdzaniu wyświetla mi złą odpowiedź, ponieważ zwykle wychodzi tam większa wartość, niż wartość w funkcji suma_jednosci.
Fragment kodu:
//Dodawa cyfr jednosci
void suma_jednosci(int tab[], int n)
{
float wynik = 0;
for (int i = 0; i < n; i++)
{
wynik += tab[i] % 10;
}
cout << "wynik sumy " << wynik << endl;
}
//Z suma całych liczb -> srednia arytmetyczna -> srednia arytmetyczna / 10 = 1/10 sredniej arytmetycznej
void srednia_arytmetyczna(int tab[], int n)
{
float wynik2 = 0, wynik1 = 0, wynik0 = 0;
for (int i = 0; i < n; i++)
{
wynik2+= tab[i];
}
wynik1 = wynik2 / n;
wynik0 = wynik1 / 10;
cout << "wynik sumy ciagu: " << wynik2 << " sredniej arytemtycznej: " << wynik1 << " oraz wynik 1/10 jej wartosci: " << wynik0 << endl;
}
//
void sprawdzanie(int tab[], int n)
{
if (suma_jednosci > srednia_arytmetyczna)
cout << "Suma cyfr jednosci jest wieksza od 1/10 sredniej arytmetycznej calych liczb." << endl;
else if (srednia_arytmetyczna > suma_jednosci)
cout << "1/10 sredniej arytmetycznej calych liczb jest wieksza od sumy cyfr jednosci." << endl;
else
cout << "Liczby sa rowne." << endl;
}
PS. Dopiero się uczę programować, więc prosiłbym o jakieś w miarę "normalne" dla nowej osoby wyjaśnienie.
Pozdrawiam Quori :)