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

Program liczący średnią ważoną daje dziwne wyniki

Object Storage Arubacloud
0 głosów
418 wizyt
pytanie zadane 19 stycznia 2016 w C i C++ przez TheFunny Gaduła (3,420 p.)

Witam.

Napisałem program liczący średnią ważoną jednak daje mi on strasznie dziwne wyniki.  W czym leży problem ?

#include <iostream>

using namespace std;

int r1, r2, r3;
float rang1[0],rang2[0],rang3[0];
float sr1=0, sr2=0, sr3=0;
float l1, l2, l3;
float EPIC;



int main()
{
    cout<<"Srednia wazona!"<<endl<<endl;
    cout<<"Ile jest liczb rangi I: ";
    cin>>r1;

    for(int i=0; i<=r1-1; i++)
    {
        cout<<"[" << i + 1 << "]. ";
        cin >> rang1[i];
    }

    for(int i=0; i<=r1; i++)
    {
        sr1 += rang1[i];
    }



cout<<sr1;

    (sr1/r1)==l1;

    cout<<endl;

    cout<<"Ile jest liczb rangi II: ";
    cin>>r2;

    for(int i=0; i<=r2-1; i++)
    {
        cout<<"[" << i + 1 << "]. ";
        cin >> rang2[i];
    }

    for(int i=0; i<=r2; i++)
    {
        sr2 += rang2[i];
    }

cout<<sr2;
    (sr2*2)/r2==l2;



    cout<<endl;

    cout<<"Ile jest liczb rangi III: ";
    cin>>r3;

    for(int i=0; i<=r3-1; i++)
    {
        cout<<"[" << i + 1 << "]. ";
        cin >> rang3[i];
    }

    for(int i=0; i<=r3; i++)
    {
        sr3 += rang3[i];
    }

cout<<sr3;
    (sr3*3)/r3==l3;


    (l1+l2+l3)/3==EPIC;

    cout<<"Srednia wazona twoich ocen to "<<EPIC;





    return 0;
}

 

1 odpowiedź

+1 głos
odpowiedź 19 stycznia 2016 przez Mariusz O Mądrala (5,290 p.)
wybrane 20 stycznia 2016 przez TheFunny
 
Najlepsza

float rang1[0],rang2[0],rang3[0];

Wielkości tablic są zerowe.

komentarz 19 stycznia 2016 przez TheFunny Gaduła (3,420 p.)
Jakie musiałbym ustawić ?
komentarz 19 stycznia 2016 przez Mariusz O Mądrala (5,290 p.)
Najlepiej na tyle ile ocen chce użytkownik - dynamicznie, po pobraniu ile jest ocen danej rangi.
komentarz 19 stycznia 2016 przez Munvik Dyskutant (9,350 p.)

Niepotrzebnie również tworzysz 2 pętle, by obliczyć średnią nr1.

Popatrz na ten zapis:

for(int i=0; i<r1; i++)
    {
        cout<<"[" << i + 1 << "]. ";
        cin >> rang1[i];
        sr1 += rang1[i];
    }

cout<<sr1;

 

komentarz 19 stycznia 2016 przez TheFunny Gaduła (3,420 p.)
Rozwiązało to problem z sumowaniem się liczb, jednak średnia wciąż jest równa 0 :\
komentarz 19 stycznia 2016 przez Mariusz O Mądrala (5,290 p.)
(sr3*3)/r3==l3;

bo ten zapis jest bez sesnu. Zwraca true/false.

l3 = (sr3*3)/r3;

i tak dalej... z każdym.
komentarz 19 stycznia 2016 przez TheFunny Gaduła (3,420 p.)
Haha aż zachciało mi się z siebie śmiać :) Dzięki wielkie wszystkim :)

Podobne pytania

0 głosów
1 odpowiedź 489 wizyt
0 głosów
2 odpowiedzi 2,484 wizyt
pytanie zadane 13 grudnia 2015 w C i C++ przez Ciri Gaduła (3,380 p.)

92,595 zapytań

141,444 odpowiedzi

319,717 komentarzy

61,980 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!

...