Kezdőoldal » Számítástechnika » Programozás » Egy mátrix elemeit, hogyan...

Egy mátrix elemeit, hogyan tudom átírni egy vektorba?

Figyelt kérdés

Valamennyire már megvan, de csak a mátrix legutolsó elemét teszi bele a vektorba.

Turbo Pascalban csinálom.

Nem tudna valaki segíteni, hogy miért csak egy elemet ír át a vektorba?? Köszönöm előre is!


2009. márc. 22. 11:55
 1/3 A kérdező kommentje:
Valaki legyen olyan kedves segíteni! :'( Köszönöm!
2009. márc. 22. 12:21
 2/3 A kérdező kommentje:

A kérdés már nem él! :D

Sikerült!:)


Most az lenne, hogy-hogy tudnám egy 10x10-es mátrix

5. és 10. sorát felcserélni?:S

2009. márc. 22. 15:16
 3/3 anonim ***** válasza:

Nos, bár elég régi kérdés, azért megválaszolom.


Csinálj egy eljárást, amely tetszőleges két sort képes felcserélni.


Procedure SwapRows(m :Matrix, row1 :Integer, row2: Integer)


Írj egy függvényt, amely tetszőleges sor tartalmát adja vissza vektorban. Ezt fogja használni a SwapRows.


Function GetRow(m :Matrix, row :Integer) :Vector


Illetve kell még egy másik eljárás, amely tetszőleges sort felülír egy adott vektorral


Procedure SetRow(m :Matrix, row :Integer, data :Vector)


Mint láthatod, a SwapRows implementációja már ki is kristályosodott.


Procedure SwapRows(m :Matrix, row1 :Integer, row2 :Integer)

˙˙˙˙buffer :Vector;

Begin

˙˙˙˙buffer := GetRow(m, row1);

˙˙˙˙SetRow(m, row1, GetRow(m, row2));

˙˙˙˙SetRow(m, row2, buffer);

End;


Kis segítségként még súgok egy picit, de elvileg már magától is mennie kell:


Function GetRow(m :Matrix, row: Integer) :Vector

˙˙˙˙result :Vector;

˙˙˙˙i :Integer;

Begin

˙˙˙˙For i := 0 To GetWidth(m) Do

˙˙˙˙Begin

˙˙˙˙˙˙˙˙result[i] := GetValue(m, i, row);

˙˙˙˙End;

˙˙˙˙GetRow := result;

End;


A SetRow meg nagyjából ugyanez, csak bemenetként kapja a Vectort, azon megy végig és meghív egy SetValue(m, i, row, data[i]) -t.


Természetesen az implementáció nem teljes, a hiányzó részleteket magadnak kell belepótolnod. Itt-ott syntax errort is rejthet, mivel a Pascal tudásom mára "kissé" megfakult.

Szintén érdemes elgondolkodni a statikus adatok pointerekkel való leváltásán.

2013. dec. 6. 12:08
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!