Kezdőoldal » Számítástechnika » Programozás » Programozás help?

Programozás help?

Figyelt kérdés
Üdv! Lenne egy programozás példám amiben a mátrixot transzponálni kellene tehát az oszlopok és a sorok helyet cseréljenek.Az a problémám hogy ezt nemtudom hogy megoldani a beolvasás kiirás többi az megy de ez viszont nem ?!

2015. jan. 24. 19:30
 1/5 vattacukor elefánt válasza:
0%
matrix[i,j]:=matrix[j,i] minden elemre :)
2015. jan. 24. 20:52
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:

#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

2015. jan. 24. 22:12
Hasznos számodra ez a válasz?
 3/5 anonim ***** válasza:
0%
#2 és akkor most jól visszakaptuk az eredeti mátrixot
2015. jan. 24. 22:41
Hasznos számodra ez a válasz?
 4/5 anonim ***** válasza:

> #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

2015. jan. 24. 23:42
Hasznos számodra ez a válasz?
 5/5 anonim ***** válasza:

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.

2015. jan. 29. 18:41
Hasznos számodra ez a válasz?

Kapcsolódó 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!