Pereiti prie turinio

Matricos skaitymas iš failo


Rekomenduojami pranešimai

Padėkit.

 

Tarkim faile yra:

 

1 2 3

5 6 8

7 8 9

 

Kaip juos teisingai nuskaityti į dvimatį masyvą?

 

Taip man juos nuskaito lyg visi skaičiai būtų surašyti į eilutę.

 

for  (Eilute = 1; Eilute < 11; Eilute++)
       {

               while (!Duomenys.eof())
               {
                       Duomenys >> Matrica[Eilute][stulpelis];
		Stulpelis++; 
               }

Redagavo Giedriusc
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Matricos pirmoje eilutėje yra [0][0], [0][1], [0][2], o tu dar bandai irasyti i [1][3], o toks stulpelis neegzistuoja. Tas pats ir su eilute. Atrodo šitaip viskas :D

 

Ai jo... ###### :D Dėkui, beje kaip parašyt, jei nežinai kiek elementų yra Matricoj?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Ai jo... ###### :D Dėkui, beje kaip parašyt, jei nežinai kiek elementų yra Matricoj?

Ta prasme, tau reikia dinaminių masyvų? :) Taip paprastai neišeis... Tai arba daryk taip, kad visad užtektų (100x100) pvz., arba žaisk su pointeriais ir malloc(), arba išvis naudok kokį C++ STL tipą, pvz. Vector... :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Ta prasme, tau reikia dinaminių masyvų? :) Taip paprastai neišeis... Tai arba daryk taip, kad visad užtektų (100x100) pvz., arba žaisk su pointeriais ir malloc(), arba išvis naudok kokį C++ STL tipą, pvz. Vector... :)

 

Na taip dėl masyvo ilgio 10x10 užtenka, bet kad pvz kai skaito iš failo, kad skaitytų po eilutę o ne visą failą, kaip čia.

 

for  (Eilute = 1; Eilute < 4; Eilute++)
{
//for (Stulpelis = 1 ; Stulpelis <4; Stulpelis++)
	while (!Duomenys.eof())
	{
		Duomenys >> Matrica[Eilute][stulpelis];
		cout << Matrica[Eilute][stulpelis] << (" ");
	}
cout << endl;
}

 

Na nežinau kokią sąlygą rašyti while, kad baigtūsi ciklas kas eilutę.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Na taip dėl masyvo ilgio 10x10 užtenka, bet kad pvz kai skaito iš failo, kad skaitytų po eilutę o ne visą failą, kaip čia.

 

for  (Eilute = 1; Eilute < 4; Eilute++)
{
//for (Stulpelis = 1 ; Stulpelis <4; Stulpelis++)
	while (!Duomenys.eof())
	{
		Duomenys >> Matrica[Eilute][stulpelis];
		cout << Matrica[Eilute][stulpelis] << (" ");
	}
cout << endl;
}

 

Na nežinau kokią sąlygą rašyti while, kad baigtūsi ciklas kas eilutę.

Bandyk naudoti be while, o tiesiog su >>, jei jis elgiasi taip pat, kaip su cin, tai turėtų skaityti iki pirmo rasto tarpo simbolio.

Nuoroda į pranešimą
Dalintis kituose puslapiuose
  • po 2 savaičių...

Padėkit.

 

Tarkim faile yra:

 

1 2 3

5 6 8

7 8 9

 

Kaip juos teisingai nuskaityti į dvimatį masyvą?

 

Taip man juos nuskaito lyg visi skaičiai būtų surašyti į eilutę.

 

for  (Eilute = 1; Eilute < 11; Eilute++)
       {

               while (!Duomenys.eof())
               {
                       Duomenys >> Matrica[Eilute][stulpelis];
		Stulpelis++; 
               }

 

for  (Eilute = 0; Eilute < 3; Eilute++) // pradedam skaicuoti nuo nulio !!!
 {
   for(int Stulpelis=0;Stulpelis<3;Stulpelis++)
     {
         if(Duomenys.eof())
            break;
         Duomenys >> Matrica[Eilute][stulpelis];

     }
   if(Duomenys.eof())
       break;
 }

Nuoroda į pranešimą
Dalintis kituose puslapiuose

for  (Eilute = 0; Eilute < 3; Eilute++) // pradedam skaicuoti nuo nulio !!!
 {
   for(int Stulpelis=0;Stulpelis<3;Stulpelis++)
     {
         if(Duomenys.eof())
            break;
         Duomenys >> Matrica[Eilute][stulpelis];

     }
   if(Duomenys.eof())
       break;
 }

 

O jeigu nežinom kiek matricoj eilučių ir stulpėlių?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...