C# segítene valaki?
Van egy fájl, abban nevek, és a nevekhez, tartozik 6 tantárgy osztályzata.
A feladat, hogy kiírjuk egy fájlba a nevet, és mellé átlagoljuk a 6 osztályzatot illetve szövegesen is értékeljük (pl.: 4.5 felett jeles).
A neveket kiírja, viszont az átlag résszel gondban vagyok.
Egy átlag tömböt kellene létrehozni vagy hogy?
Előre is köszönök minden hasznos választ!
Kicsit pontosítok:
be van olvasva az összes diák(40) neve, és a 40 diákhoz tartozó fejenként 6 osztályzat egy rekordba.
Ezek után az összes diáknak ki kell számolni az átlagát majd ezeket kiírni.
Szóval 40db átlag kerül kiszámításra, és így kell a fájlba kerülnie:
Szabó Gergő
4.67, jeles
Kis István
3.98, jó
stb
Szóval, odáig már megy, hogy kiírja a neveket, sőt az jegyeket is összeszámolja (jól), viszont az átlag mindig 0.
Szerintem az index nem tetszik neki, de nem tudom így hirtelen.
Itt a részlet a kódból:
double[] atlag=new double [n+1];
int[] ossz = new int[n + 1];
for (int i = 0; i < n; i++)
{
ossz[i] = v[i].irodalom + v[i].nyelvtan + v[i].matek + v[i].tori + v[i].angol + v[i].prog;
}
atlag[n]= ossz[n] / 6;
Kétdimenziós tömbbel:
int[,] osztalyzat = new int[40, 6]; // 40 darab 6 osztályzatból álló tömb
double[] atlag = new double[40]; // A 40 darab átlag tárolása
// Átlag kiszámítása
for (int i = 0; i < 40; i++)
{
for (int j = 0; j < 6; j++)
{
atlag[i] += osztalyzat[i, j];
}
atlag[i] /= 6;
}
Köszönök minden választ!
A két dimenziós tömb is megoldás, de én a kezdőbb módszert választottam.
Egyébként, a int vs. double hiba javítása után se ment, és most esett le: eddig mindig egyetlen átlagot kellett számolni, ezért a cikluson kívülre írtuk azt osztás részt, viszont most több kell, így miután azt a részt is a ciklusba raktam működőképes lett.
Nem is értem minek kellenek egyáltalán tömbök, nemhogy két dimenziósak???
Olvasol nevet, rögtön írod az új file-ba, egy darab int változóba olvasod a jegyeket, majd a végén elosztva 6.0-val kiírod a file-ba...
További kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!