Kezdőoldal » Számítástechnika » Programozás » Tudnátok segíteni programozásb...

Tudnátok segíteni programozásban? (C#)

Figyelt kérdés

Van egy 10x10-es mátrixom (A), amiben számok vannak.

Létre kell hozni egy új mátrixot (B) és megadni hogy a régi (A) mátrixban az egyes helyeken álló számok mekkora része az összes szám összegének.

A képlet is megvan, hogy (A mátrix adott érték / összes összege )*100

Így néz ki a kód:


double[,] B = new double[A.GetLength(0), A.GetLength(1)];


for (int i = 0; i < B.GetLength(0); i++)

{

for (int j = 0; j < B.GetLength(1); j++)

{

B[i, j] = (A[i,j] / Szum(A)) * 100;

}

}

A Szum metódus egy int-et ad vissza, ami az összes összege és működik is.

Én valamiért 0-kat kapok mindenhova. Ha csak annyit írnék, hogy B[i, j] = A[i,j], akkor szépen átmásolná a mátrixot, de amint odaírom a Szum(A)-t, 0 lesz minden és nem jövök rá, hogy miért.



2020. okt. 30. 09:42
 1/4 anonim ***** válasza:
34%
A "Szum" függvényed véletlenül nem egész típust ad vissza???
2020. okt. 30. 09:44
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:
34%
Az a baj, hogy int-es a "Szum"-od, így az osztás is az lesz és nem double...
2020. okt. 30. 09:45
Hasznos számodra ez a válasz?
 3/4 anonim ***** válasza:

Jól írja az 1-es és a 2-es.

Azonkívül feleslegesen számolod ki a teljes mátrix összegét minden egyes elemhez. Csak egyszer kellene az elején, eltárolni és ezt az eltárolt értéket használni. Nem ez okozza a hibát, viszont nagyon nem optimális megoldás.

2020. okt. 30. 09:57
Hasznos számodra ez a válasz?
 4/4 A kérdező kommentje:

Köszi, ha átírom úgy, hogy B[i, j] = (A[i,j] / (double)Szum(A)) * 100, akkor működik is.

#3 Az is igaz, mondjuk nemrég kezdtük a nyelvet és annyira nem figyelik még, hogy a legoptimálisabb kódot írjuk, de köszi a tippet. :)

2020. okt. 30. 10:24

További kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!