Kezdőoldal » Számítástechnika » Programozás » Van mód arra, hogy egy több...

Van mód arra, hogy egy több dimenziós tömböt átméretezzünk?

Figyelt kérdés

Adott egy mátrix, mondjuk legyen int[,] adatok =new int [60,8];

Mondjuk ebbe bele lesznek olvasva egy fájl adatai. Viszont szeretném, hogy új adatokat is vehessenek fel manuálisan, akkor viszont már [61,8] méretű a mátrix.

Tudom, tudom használjak listát de meg van szabva, hogy vagy rekord, vagy 2d tömbben lehet tárolni az adatokat.


Van erre valami lehetőség?



2015. máj. 31. 15:50
 1/6 anonim ***** válasza:
57%

Ezeket próbáltad már?

[link]

2015. máj. 31. 15:57
Hasznos számodra ez a válasz?
 2/6 anonim ***** válasza:
90%
A tömböt nem lehet átméretezni. Amit az első írt az lehet, hogy jó neked, de az újrafoglalja és átmásolja az elemeket. Ez így új objektumnak számít, szóval amit elvárnak tőled az egy baromság. A szokásos megoldás, hogy nagyobb tömböt foglalsz és azt töltöd amíg fér bele.
2015. máj. 31. 19:52
Hasznos számodra ez a válasz?
 3/6 SimkoL ***** válasza:
58%

#2: Szerinted akkor mire valók a dinamikus tömbök ? Az, hogy a háttérben mi történik az egy kezdő programozót nem érdekelje. - nem is érdekli -

'A szokásos megoldás, hogy nagyobb tömböt foglalsz és azt töltöd amíg fér bele.' Na most szúrom oda a rozsdást ahol a legjobban fáj. Menjél vissza homokozni vagy lapozz a könyvecskédben kicsit arrébb :) a változók deklarásása utánra.

2015. máj. 31. 22:32
Hasznos számodra ez a válasz?
 4/6 anonim ***** válasza:
100%

3#-asnak. Na mégegyszer, csak magyarázatként a kérdésre válaszoltam. Át lehet méretezni a tömböt (C#-ban vagy más C-n alapuló nyelvben)? Nem. Nem lehet, mert a létrehozáskor eldől a méret.


> Szerinted akkor mire valók a dinamikus tömbök ?


A dinamikus tömb (vector, List, ArrayList):

Adatszerkezet fordítás és futás során előre NEM ismert számú elem tárolására, memória folytonosan egymás után, és tetszőleges elem O(1)-es elérésével.


> Az, hogy a háttérben mi történik az egy kezdő programozót nem érdekelje.


Ha tömböt mondasz, akkor ez a válasz. Nem válaszolok másról, mivel az félrevezető. A kérdés nem a dinamikus tömbre vonatkozott, ami egy teljesen másik dolog és a kérdező kifejezetten leírta, hogy nem arról szól a kérdés. Ennyi erővel a láncolt listát is idehozhatnám.


Amit meg lehet csinálni az egy új tömb létrehozása és a régi tartalmának átmásolása. Mi köze van ennek a tömb átméretezéséhez? Semmi, mert az nem ugyanaz a tömb. Átméreteztem a tömböt? Nem.


Létrehozhatsz egy 1000 elemű tömbböt és használod amíg beleférnek az elemek. A tömböd nem nő, de használhatod így. Szóval a normális megoldás a List használata lenne (ami ki van zárva), de az nem tömb. A List nő a tömb viszont nem.

2015. máj. 31. 23:19
Hasznos számodra ez a válasz?
 5/6 anonim ***** válasza:

(És a dinamikus tömb esetében is egy natúr tömb van a háttérben, ami, ha megtelik, akkor létrejön egy új, nagyobb tömb.)


Maga a tömb nem átméretezhető, de létre hozol egy másik, nagyobb tömböt, majd átmásolod bele a régi elemeit.

2015. jún. 1. 07:21
Hasznos számodra ez a válasz?
 6/6 A kérdező kommentje:
Köszönöm a válaszokat! :)
2015. jún. 1. 07:21

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!