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...

1 użytkowników online, w tym zalogowanych: 0, gości: 1