Quantcast
Channel: Forum Pasja Informatyki - Najnowsze pytania
Viewing all articles
Browse latest Browse all 65225

Program przypisuje wartość do zmiennej, choć go nie prosiłem

$
0
0

Cześć wszystkim :)

Zaczynam dopiero swoje boje z programowaniem, uczę się wg kursu C++ Pana Zelenta na kanale Youtube.

Jestem obecnie na etapie tablic. Chciałem trochę rozbudować program "dzienniczek ucznia", tak aby liczył średnią ważoną z podanych ocen. Pół godziny wczoraj spędziłem nad rzeczą która wykracza poza moje granice logiki. Do rzeczy.

Program z jakiegoś powodu przypisuje zmiennej wartość znikąd, choć zmienną zadeklarowałem jako zero. Co ciekawe, po przestawieniu kolejności deklaracji zmiennych, przypisuje już normalnie zero, jak trzeba. Nie wiem, czy ma to związek z tym, że jedna zmienna jest tablicą 3x100.

Wkleję screeny, żeby pokazać o co mi chodzi. Oczywiście kod jest pewnie do zrefaktoryzowania, ale polecę dalej z nauką, bo czasami mając większą wiedzę człowiek robi rzeczy kompletnie inaczej :)

Wklejam kolejno kod działający błędnie, a później poprawny. Z góry dzięki za pomoc i wyjaśnienie.

https://drive.google.com/open?id=0Bw3BHVEg9BgDWGlkRkdNZVV4eU0

https://drive.google.com/open?id=0Bw3BHVEg9BgDemdWWHUzbkdrTTg

EDIT: forum wkleja w bardzo małej rozdzielczości, więc daję linki do dysku google.

#include <iostream>

using namespace std;
int dzi[3][100], suma1=0, suma2=0;
float  srednia1, srednia2;
int main()
{

    for (int i=0; i<100; i++)
      {
        cout<<"Podaj "<<i+1<<" ocene: ";
        cin>>dzi[1][i];

        cout<<"Podaj wage: ";
        cin>>dzi[2][i];

        dzi[3][i]=dzi[1][i]*dzi[2][i];

        //cout<<dzi[1][i]<<endl;
        //cout<<dzi[2][i]<<endl;
        //cout<<dzi[3][i]<<endl;

        cout<<suma1<<endl;

        suma1+=dzi[2][i];
        //cout<<"Suma wag: "<<suma1<<endl;

        suma2+=dzi[3][i];
        //cout<<"Suma ocen: "<<suma2<<endl;



        srednia1=suma2*100/suma1;
        srednia2=suma2/suma1;
        cout<<"Twoja srednia to: "<<srednia2<<"."<<srednia1-(srednia2*100)<<endl<<endl;
      }


    return 0;
}

 


Viewing all articles
Browse latest Browse all 65225

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>