Program liczący średnią.

0

Witam.
Dopiero uczę się programowania w c++ więc sorry za tak trywialny temat, ale chciałbym aby ktoś sprawdził mój kod i ewentualnie wytkną mi błędy jakie popełniam.
Program ma jedno zadani, obliczyć średnią z pięciu liczb podanych przez użytkownika:

#include <iostream>

using namespace std;

float a,b,c,d,e;
float srednia;

int main()
{
    cout << "podaj 5 liczb podzielonych spacja: ";
    cin>>a>>b>>c>>d>>e;

    srednia=(a+b+c+d+e)/5;

    cout<<srednia;
    return 0;
}
 
0

Wygląda poprawnie, a działa dobrze?

0

jak go testowałem to podaje poprawne wyniki

0

jeszcze takie pytanie w ramach tego wątku.
Jak napisać program znajdujący liczbę najbliższą średniej z pięciu podanych liczb ?

0

Jak będziesz miał policzyć średnią tysiąca liczb to utworzysz tysiąc zmiennych? Program działa dobrze, ale nie jest dobrze przemyślany.

0

no to jak to zrobić użyć tablic ?

0

No to jest poprawnie.

Możesz za to skrócić program poprzez nie używanie zmiennej średnia, tylko od razu wypisanie wyliczonego wyniku. Obecnie deklarujesz zmienne globalnie (będą widoczne z dowolnego miejsca programu), a jako że się uczysz, to lepiej, żebyś deklarował je jako lokalne, czyli we wnętrzu funkcji, będą wtedy widoczne tylko w niej (będzie mieć to znaczenie, gdy Twoje umiejętności trochę wzrosną i będziesz pisać bardziej zaawansowany program).

2

Po co tablice? Czy potrzebujesz jakiejkolwiek więcej informacji niż suma obecnie wczytanych liczb i ich ilość?

0

masz na myśli coś takiego ?

 
#include <iostream>

using namespace std;

float a,b,c,d,e;
//float srednia;

int main()
{
    cout << "podaj 5 liczb podzielonych spacja: ";
    cin>>a>>b>>c>>d>>e;

    //srednia=(a+b+c+d+e)/5;

    cout<<(a+b+c+d+e)/5;
    return 0;
}

1

Tak. Tylko, że resztę zmiennych masz nadal globalnie.

A rozwiązanie, o którym pisze @kropto to wczytywać w pętli liczby i dodawać do sumy, jednocześnie zliczając ilość liczb (wtedy masz dwie zmienne: suma i ilosc).
Akurat gdy masz wczytać dokładnie 5 liczb, to nie sądzę, żeby wzburzenie? @kropto było w najmniejszym stopniu uzasadnione (skoro dopiero zaczynasz), choć jego przykład więcej Cię nauczy...

0

nadal nie wiem jak to zrobić za pomocą pętli będę wdzięczny jak mnie ktoś oświeci.

0

jeśli chodzi o średni lokalne to chyba mi się udało to ogranąć

 
#include <iostream>

using namespace std;


//float srednia;

int main()
{
    float a,b,c,d,e;
    cout << "podaj 5 liczb podzielonych spacja: ";
    cin>>a>>b>>c>>d>>e;

    //srednia=(a+b+c+d+e)/5;

    cout<<(a+b+c+d+e)/5;
    return 0;
}

0

A umiesz w ogóle używać pętli?

1

Zrób pętlę, która wczytuje liczbę i dodaje ją do suma i jednocześnie inkrementuje ilosc. Choć w zasadzie nie musisz dodawać ilosc, bo i tak będziesz wiedział ile tych liczb ma być. (Co innego gdybyś nie wiedział, tylko musiał ocenić na podstawie danych, które odczytasz, wtedy trzeba inkrementować...

2

Spróbuj zrobić to sam, samodzielne rozwiązywanie zadań da Ci najwięcej pożytku i satysfakcji. Zobacz przykładowe programy z pętlami, jeśli ich nie rozumiesz.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.