Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem C++ a 2D pole a známky žáků

Zdravím mám takový malý problém. Za úkol jsem dostal abych vytvořil 2d pole do kterého se vypíšou známky žáků a spočítá se z toho průměr a pak se spočítá celkový průměr známek všech žáků. Můj problém je že mě to vypíše vždycky nějaký blbosti místo toho aby známky udělali průměr a zbytek mě vypíše nějaký nesmyslný čísla.Chyby mi to žádný nepíše. Můžete mi někdo pomoct? děkuji

Zde je program:

#include "stdafx.h"
#include "locale"
#include "stdio.h"

void main()
{
setlocale(LC_ALL, "czech");
printf("Dvourozměrné pole \n");
printf("\n");
printf("Vypracoval: ----\n");
printf("\n");
printf("Datum: 15.5. 2013\n");
printf("*****************************\n");

int C;
int M;
int CJ;
int F;
int VYT;
int I;
int J;
int N;
double PR;
double Celprum;
int S;
int CS;
int Z [4][5];

printf("Zadej počet žáků:\n");
scanf("%d",&C);

for(I=1;I<=C;I++){

printf("Zadej známku z ČJ: \n");
scanf("%d",&CJ);
printf("Zadej známku z M: \n");
scanf("%d",&M);
printf("Zadej známku z F: \n");
scanf("%d",&F);
printf("Zadej známku z Vyt: \n");
scanf("%d",&VYT);

Z[C-1][0]=M;
Z[C-1][1]=CJ;
Z[C-1][2]=F;
Z[C-1][3]=VYT;

}
S=0;
CS=0;

printf("Pořadové číslo Mat ČJ Fyz VYT Průměr\n");

for(I=0;I<C;I++){
S=0;
for(J=0;J<=3;J++){
CS=CS+Z[I][J];
S=S+Z[I][J];

}
PR=S/4;

printf("%d, %d, %d, %d, %d, %lf\n",I+1, Z[I][0], Z[I][1], Z[I][2], Z[I][3], PR);

}
Celprum=CS/C;
printf("Celkový průměr: %.2lf\n",Celprum);

getchar();getchar();

}

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Z[C-1][0]=M; Z[C-1][1]=CJ; Z[C-1][2]=F; Z[C-1][3]=VYT; je blbo. V cykle sa ti predsa meni I a ne C…
MM.. 15.05.2013 19:37
MM..
my jsme to takhle měli zadané ze školy: Zadání: Zpracujte VD a program pro výpočet studijních průměr…
Jeapsikkk 15.05.2013 19:41
Jeapsikkk
ono to v podstatě funguje jen mě to nespočítá ty průměry a debuger používám
Jeapsikkk 15.05.2013 19:43
Jeapsikkk
A u printf ked mas parameter double tak sa pouziva %f a ne %lf. nový
MM.. 15.05.2013 20:10
MM..
nás ve škole učili %lf u double nový
Jeapsikkk 15.05.2013 20:38
Jeapsikkk
tak vas ucili blbo. Najdi si akekolvek printf reference, na google je toho milion. Napr. Printf_form… nový
MM.. 15.05.2013 20:43
MM..
A celkovy prumer je Celprum=CS/(C*4); ne? nový
MM.. 15.05.2013 20:14
MM..
A dalsia vec ked ratas tie priemery tak mas 2 integery a medzi nimi /, ak su oba parametre integery… nový
MM.. 15.05.2013 20:16
MM..
tak to jsem zvědavej jak to dopadne nový
SKINPAS 22.06.2013 21:41
SKINPAS
Když už musíš psát ty svoje hovadiny, necpi to aspoň do starých dotazů. nový
karel 22.06.2013 21:43
karel
i starý dotas má právo být vyřešen. ne? nový
SKINPAS 22.06.2013 22:30
SKINPAS
on uz ale vyrieseny bol, alebo myslis ze robi domacu ulohu 2mesiace? nový
MM.. 22.06.2013 22:35
MM..
Ty nic neřešíš, jen píšeš hovadiny. nový
karel 22.06.2013 22:35
karel
no 2 měsíce to je jedno alespon ty zájemci kteří chtějí také si udělat něco takového tak to alespon… poslední
SKINPAS 22.06.2013 22:47
SKINPAS
Z[C-1][0]=M;
Z[C-1][1]=CJ;
Z[C-1][2]=F;
Z[C-1][3]=VYT;

je blbo. V cykle sa ti predsa meni I a ne C-1

Inac rozmyslajuci clovek napise cyklus ako
for(I=0;I<C;I++)
a potom moze pouzit rovno I na indexovanie pola

Z[I][0]=M;
Z[I][1]=CJ;
Z[I][2]=F;
Z[I][3]=VYT;

my jsme to takhle měli zadané ze školy:
Zadání: Zpracujte VD a program pro výpočet studijních průměrů ve třídě. Užijte dvourozměrné pole.

Vstupní hodnoty:
• C – pořadové číslo žáka
• M, CJ, F, VYT – známky z předmětů: Double

Pracovní proměnné:
• I,J – parametry cyklu (počítadlo)
• N – počet žáků
• PR – studijní průměr žáka
• Celprum – celkový průměr ve třídě
• S –součet známek jednoho žáka
• CS – celková suma známek všech žáků ve třídě
Výstupní hodnoty:
• Z = 2 rozměrné tabulka se známkami žáků a jejich průměry

A dalsia vec ked ratas tie priemery tak mas 2 integery a medzi nimi /, ak su oba parametre integery tak sa robi celociselne delenie.
Ked chces delenie realnych cisel tak musis jeden parameter pretypovat na double, alebo ak je konstanta tak pridat za nu .0 cim urobis z toho double konstantu.

takze napr.:
PR=S/4.0;

Celprum=(double)(CS)/(C*4);

apod.

Zpět do poradny Odpovědět na původní otázku Nahoru