Programozás help?
#1 És akkor jól el is vesztetted matrix[i,j] értékét...
Így cseréljük ki a és b értékét:
temp = a;
a = b;
b = temp;
Rakd össze ezt és az #1-es válaszát és meglesz.
Nem írtál amúgy programozási nyelvet, van amelyik támogatja a párhuzamos értékadást, pl. Python:
a, b = b, a
> #2 és akkor most jól visszakaptuk az eredeti mátrixot
Lehet hogy félreérthető voltam de akkor légy szíves fogalmazd meg miért is kapjuk vissza az eredeti mátrixot ha felcseréljük a mátrix oszlopait és sorait?
matrix=[[1,2,3],[4,5,6],[7,8,9]]
for i in range(3):
for j in range(i,3):
matrix[i][j], matrix[j][i] = matrix[j][i], matrix[i][j]
print(matrix)
A kiement:
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
Kiegészíteném a válaszomat is: ez csak NxN mátrixokra működik, ha a mátrix nem NxN-es akkor nem tudod cserélgetni az elemeit, új mátrixot kell definiálnod a megfelelő mérettel és át kell másolnod az elemeit úgy hogy az oszlopokat felcseréled a sorokkal:
beolvas beMatrix[3][5]
definiál kiMatrix[5][3]
ciklus i = 0-tól i<3-ig:
ciklus j = 0-tól i<5-ig:
kiMatrix[j][i] = beMatrix[i][j]
kiír kiMatrix
Mindjárt meg is fogalmazom:
"Így cseréljük ki a és b értékét: [...] Rakd össze ezt és az #1-es válaszát és meglesz."
Első válasza:
"matrix[i,j]:=matrix[j,i] minden elemre :)"
Szóval igen, félreérthető voltál. Ezt: "for j in range(i,3)" sehol se említed, pedig azért fontos lenne, hogy ne minden elemre végezzük el.
Kapcsolódó 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!