Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Dinamička matrica korišćenje ugrađene klase vector

[es] :: C/C++ programiranje :: Dinamička matrica korišćenje ugrađene klase vector

[ Pregleda: 2204 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mr10x505
Student
Novi Sad

Član broj: 281363
Poruke: 73
*.uns.ac.rs.

Sajt: www.automatika.rs


Profil

icon Dinamička matrica korišćenje ugrađene klase vector12.12.2011. u 11:51 - pre 150 meseci
Pitanje je sledece: ako definišem matricu na sledeći način:

typedef vector<vector<int> > mat;
mat matrica ( 0, vector<int> ( 0, 0 ) );

postoji li mogućnost upotrebe iteratora ili, kako bih prolazio kroz matricu, moram da koristim dve for petlje. Pri standardnoj notaciji, upotrebom iteratora mogu da pristupim samo prvom nizu, ali ne i sledecim
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: Dinamička matrica korišćenje ugrađene klase vector12.12.2011. u 12:15 - pre 150 meseci
std::vector ima svoj standardni iterator. Pošto imaš dva vektora onda imaš i dva tipa iteratora, i moraš da koristiš dvostruku petlju. Ne postoji ugrađeni iterator specijalno za vector<vector<>> koji bi prolazio kroz sve elemente svih unutrašnjih vektora. Ako želiš takav specijalni iterator onda moraš sam da ga napraviš.
 
Odgovor na temu

mr10x505
Student
Novi Sad

Član broj: 281363
Poruke: 73
*.uns.ac.rs.

Sajt: www.automatika.rs


Profil

icon Re: Dinamička matrica korišćenje ugrađene klase vector12.12.2011. u 12:45 - pre 150 meseci
Citat:
Mihajlo Cvetanović: std::vector ima svoj standardni iterator. Pošto imaš dva vektora onda imaš i dva tipa iteratora, i moraš da koristiš dvostruku petlju. Ne postoji ugrađeni iterator specijalno za vector<vector<>> koji bi prolazio kroz sve elemente svih unutrašnjih vektora. Ako želiš takav specijalni iterator onda moraš sam da ga napraviš.


Upravo to me i zanima. Ne mogu nigde da nadjem kako da to napisem

Jedan iteratora sam definisao kao:
vector <vector<int>>::iterator iter = matrica.begin();

to je, kako bih rekao, iterator za jednu dimenziju, kako da napisem iterator za drugu???


PS. hvala na brzom odgovoru!
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: Dinamička matrica korišćenje ugrađene klase vector12.12.2011. u 13:32 - pre 150 meseci
Ovo je nadam se odgovor:

Code:
for (vector<vector<int> >::iterator it1 = matrica.begin(); it1 != matrica.end(); it1++)
{
  for (vector<int>::iterator it2 = (*it1).begin(); it2 != (*it1).end(); it2++)
  {
    // koristi se *it2 kao element matrice tipa int. Može da se i čita i piše
  }
}

 
Odgovor na temu

[es] :: C/C++ programiranje :: Dinamička matrica korišćenje ugrađene klase vector

[ Pregleda: 2204 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.