Program liczący średnią.

Program liczący średnią.
KR
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Polska
  • Postów: 72
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:

Kopiuj
#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;
}
 
NO
  • Rejestracja: dni
  • Ostatnio: dni
0

Wygląda poprawnie, a działa dobrze?

KR
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Polska
  • Postów: 72
0

jak go testowałem to podaje poprawne wyniki

KR
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Polska
  • Postów: 72
0

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

kq
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
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.

KR
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Polska
  • Postów: 72
0

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

NO
  • Rejestracja: dni
  • Ostatnio: dni
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).

kq
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
2

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

KR
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Polska
  • Postów: 72
0

masz na myśli coś takiego ?

Kopiuj
 
#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;
}

NO
  • Rejestracja: dni
  • Ostatnio: dni
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...

KR
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Polska
  • Postów: 72
0

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

KR
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Polska
  • Postów: 72
0

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

Kopiuj
 
#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;
}

NO
  • Rejestracja: dni
  • Ostatnio: dni
0

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

NO
  • Rejestracja: dni
  • Ostatnio: dni
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ć...

  • Rejestracja: dni
  • Ostatnio: dni
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.