• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

bledne wyniki sredniej artymetycznej

Object Storage Arubacloud
0 głosów
223 wizyt
pytanie zadane 22 lipca 2015 w C i C++ przez heartagram Obywatel (1,770 p.)
cześć, w programie do średniej artymetycznej nie wychodzi mi za nic właściwy wynik a powinien : |

 

#include <iostream>

using namespace std;

unsigned srednia(unsigned suma, unsigned liczba, unsigned n)
{
    cout<<"Podaj ile liczb do sredniej"<<endl;
    cin>>n;
for(unsigned i=1; i<=n; i++)
{
    cout<<"Podaj "<<i<<" liczbe"<<endl;
    cin>>liczba;
    suma+=liczba;
}

cout<<"srednia wynosi: "<<suma/n<<endl;

}
int main()
{
unsigned suma;
unsigned liczba;
unsigned n;
cout<<srednia(suma,liczba,n);      // mimo iż dobre typy zmiennych to wynik po przecinku też nie wychodzi dobry
cout<<" <-- nie wiem co to O.O"<<endl;   // tutaj po zakończonym programie wyskakują mi jakieś dziwne cyfry
return 0;

}

 

W zakomentowanych miejscach jest jeszcze pare pytań :)

4 odpowiedzi

0 głosów
odpowiedź 22 lipca 2015 przez Lucek1906 Nowicjusz (240 p.)
Po pierwsze średnia najczęściej będzie wychodzić jako liczba lub cyfra zmienno przecinowa. Zastanów się nad typem zmiennej.

Po wtóre "unsigned" dodajesz przed nazwą zmiennej np "unsigned long" oznacza to że zakres zmiennej przesunie sie i będzie liczony od zera w górę.

Tak w ogóle to chyba masz źle napisaną funkcję "srednia" - chodzi mi o typ, no a poza tym skoro to nie jest "VOID" to powinna zwracać jakąś wartość.

 

 

zachęcam do zapoznania się z : http://www.algorytm.edu.pl/wstp-do-c/typy-zmiennych.html

oraz https://www.youtube.com/watch?v=HHplT1A4_A4
0 głosów
odpowiedź 22 lipca 2015 przez TurboSpencer Początkujący (260 p.)

Źle napisałeś funkcję srednia, jeśli funkcja ma coś zwracać to zamiast cout napisz return.  Zmienne suma, liczba i n powinny być nad funkcją srednia. Po drugie przed unsigned musisz podac typ zmiennej, a najlepiej zamiast unsigned wpisz po prostu int. Najlepiej by było jakbyś to obejżał: https://www.youtube.com/watch?v=HHplT1A4_A4

0 głosów
odpowiedź 22 lipca 2015 przez Dorion300 Szeryf (90,250 p.)

Nie wiem czy o to ci chodziło.

Ale działa.

#include <iostream>

using namespace std;

void srednia()
{
    double liczba;
    unsigned int n;
    double suma;
    cout<<"Podaj ile liczb do sredniej"<<endl;
    cin>>n;
    for(unsigned i=1; i<=n; i++)
    {
        cout<<"Podaj "<<i<<" liczbe"<<endl;
        cin>>liczba;
        suma+=liczba;
    }

    cout<<"srednia wynosi: "<<suma/n<<endl;

}
int main()
{
    srednia();      // mimo iż dobre typy zmiennych to wynik po przecinku też nie wychodzi dobry
    cout<<" <-- nie wiem co to O.O"<<endl;   // tutaj po zakończonym programie wyskakują mi jakieś dziwne cyfry
    return 0;

}

 

0 głosów
odpowiedź 22 lipca 2015 przez adas94 Nałogowiec (29,200 p.)

Tutaj masz działający kod, trochę źle napisałeś swoją funkcję : 

 

#include <iostream>

using namespace std;

double srednia ()
{
    int n;
    double liczba;
    double suma=0;
    cout<<"Podaj ile liczb do sredniej"<<endl;
    cin>>n;
    
    for(int i=1; i<=n; i++)
    {
    cout<<"Podaj "<<i<<" liczbe"<<endl;
    cin>>liczba;
    suma+=liczba;
    }

    return suma/n;
}

int main()
{
    cout<<" średnia wynosi : "<< srednia() << endl;
    return 0;
}

 

Podobne pytania

0 głosów
2 odpowiedzi 1,165 wizyt
pytanie zadane 24 stycznia 2018 w C i C++ przez Furgix Początkujący (480 p.)
0 głosów
2 odpowiedzi 305 wizyt
+1 głos
3 odpowiedzi 636 wizyt

92,579 zapytań

141,432 odpowiedzi

319,663 komentarzy

61,964 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...