Kezdőoldal » Számítástechnika » Programozás » Hogy lehet fájlból beolvasva...

Hogy lehet fájlból beolvasva mátrix elemein végigmenni úgy, hogy nem használok tömböt, vektort? C++

Figyelt kérdés

Én úgy kezdtem, hogy első sort beolvastam getline-nal, megszámoltam a szóközöket, majd a fájl újboli megnyitása után azt akarnám, hogy soronként szóköz+1 elemet olvasok be szóköz karakterig, majd átkonvertálom int-be. (Majd eldöntés tételt kell alkalmaznom). De valahogy nem sikerül. Gyanítom, hogy ott bukik el a dolog, hogy a beolvasandó számokat szóköz karakterik olvasom be getline-nal, viszont a sor utolsó eleménél ez elbukik.


Itt a kódom lényegi része:


string adat1;

befile.open(seged.c_str());

while(!befile.eof())

{

getline(befile,adat1,' ');

db++;

}

befile.close();

string file = "be.txt";

befile.open(file.c_str());

int i = 0;

int adat2;

while(!befile.eof())

{

while (i<db)

{

i++;

getline(befile,adat1,' ');

cout << adat1 << endl;

adat2 = atoi(adat1.c_str());

cout << adat2 << endl;

}

if (i>=db)

{

i = 0;

}

}



2021. okt. 20. 08:55
1 2
 1/12 anonim ***** válasza:
27%
Eleve a string egy karakter tömb, tehát már ott bukik a feltétel. Ennél ez bonyorultabb, létre kell hoznod egy saját tiípust, majd a logikát mögé, ahogy eltárolod a memóriába az adatot, ami nyilván nem lehet hasonló, mint ahogy tömb működik, mert akkor megint nem csináltál semmit.
2021. okt. 20. 10:50
Hasznos számodra ez a válasz?
 2/12 A kérdező kommentje:
Akkor tévúton járok?
2021. okt. 20. 10:57
 3/12 anonim ***** válasza:
0%

Megint sok volt a matek. Imádom, hogy túlgondoltok mindent.


Matrix -> kétdimenziós tömb


Hogy megyünk végig egy kétdimenziós tömbön? Beágyazott for ciklussal.


Java esetében:


for (int row = 0; row < board.length; row++) {

for (int col = 0; col < board[row].length; col++) {

board[row][col] = row * col;

}

}

2021. okt. 20. 11:01
Hasznos számodra ez a válasz?
 4/12 anonim ***** válasza:
100%
Nos a szó szoros értelmében megoldható a feladat úgy, hogy megnyitod a fájlt, kiolvasol egy karaktert, mész a következőre, de egy ponton túl ha valamit akarsz vele kezdeni akkor mindenképpen kell valami adatstruktúra és mivel tömb nem használható, kénytelen vagy "sajátot" használni. Adja magát amúgy a linked list, egy object ami egy karaktert tárol és egy pointert a következő ilyen objectre. Így megamarad az egész szöveg, de nem tömbben tároltad.
2021. okt. 20. 11:21
Hasznos számodra ez a válasz?
 5/12 anonim ***** válasza:
0%
3-as le van pontozva de tökéletesen leírta hogyan kell egy kétdimenziós tömböt kiolvasni :D mennyi buta ember jár ide..
2021. okt. 20. 11:43
Hasznos számodra ez a válasz?
 6/12 anonim ***** válasza:
100%

A hármas azért van lepontozva, mert egy buta seggluk. Ráadásul még veri is a mellét a hülyeségére.


Az a megoldás, hogy beolvasod stringbe.

Igaz, hogy a string adott esetben lehet egy char vektor, sőt, lényegében az is, de alap definíció szerint nem tömb.

2021. okt. 20. 20:50
Hasznos számodra ez a válasz?
 7/12 anonim ***** válasza:
6 akkor várjuk a kedves hatos megoldását, hogy miként iterálna végig egy 2 dimenziós tömbön.
2021. okt. 20. 20:54
Hasznos számodra ez a válasz?
 8/12 anonim ***** válasza:
90%

Ne vergődj már, mert így is elég nevetséges vagy.

Ezen az ovodás dolgon vered a melledet meg a nyálad, ebből érzezhető, hogy amatőr vagy a rosszabbik fajtából, a tudásod nulla.


Egy 2D tömbön úgy iterálok végig [de nem csak én, hanem más is], ahogy a feladat megkivánja.

2021. okt. 20. 21:01
Hasznos számodra ez a válasz?
 9/12 anonim ***** válasza:
29%
8 ennyit rólad. Azt se tudod miről beszélsz, fogalmad sincs miket írsz :) Ha egy kétdimenziós tömböt kell bejárni, annak csak egy módja van: elindulsz az első sorban, majd lépsz egyet, és jön a következő. Két for ciklus. Lehet te ugrabugrálni akarsz, ezért máshogy fogsz menni, de a logika ugyan az marad, mert máshogy nem lehet. Ha egy segédfüggvény megcsinálja pythonban (mert most az a menő), akkor az is ugyan ezt a technikát fogja alkalmazni. Na fejezd be a vergődést
2021. okt. 20. 21:24
Hasznos számodra ez a válasz?
 10/12 anonim ***** válasza:
41%

" Azt se tudod miről beszélsz, fogalmad sincs miket írsz :) Ha egy kétdimenziós tömböt kell bejárni, annak csak egy módja van:"


Na húzz a vérbe, ostoba dilettáns veréb.

2021. okt. 20. 21:26
Hasznos számodra ez a válasz?
1 2

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!