Portál AbcLinuxu, 20. dubna 2024 07:50


Dotaz: vektor vektoru v C++

24.10.2010 12:23 jirka36 | skóre: 2
vektor vektoru v C++
Přečteno: 1055×
Odpovědět | Admin
zdravím, chtěl bych se jen zeptat jestli je možné vytvořit něco jako vektor vektroru.....něco na způsob pole struktur.... Mam totiž data A a pak data B, tyto data přichází na přeskáčku, takže to potřebuji uložit do dvou různých vektoru a potom se na ně odkazovat...jak toho lze docílit. Děkuji za odpověď

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

24.10.2010 17:45 Sinuhet | skóre: 31
Rozbalit Rozbalit vše Re: vektor vektoru v C++
Odpovědět | | Sbalit | Link | Blokovat | Admin
std::vector< std::vector<int> > array(2);

array[0].push_back(1);
array[0].push_back(2);
array[0].push_back(3);

array[1].push_back(4);
array[1].push_back(5);
array[1].push_back(6);

std::cout << array[1][1] << "\n";
25.10.2010 22:30 jirka36 | skóre: 2
Rozbalit Rozbalit vše Re: vektor vektoru v C++
no ja sem nakonec přišel na to, že se mi bude lépe pracovat s vektorem struktur, ale tu taky moc nevim jak pouzit, mam takovouto struktu struct mojeStruktura { int cislo; string data; };

a pak se asi udela neco jako toto

vector< moje_Struktura> mujVektor;

ale nejsem si vubec jistej a hlavne nevim jak se odkayovat na jednotlive prvky

David Watzke avatar 25.10.2010 22:56 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: vektor vektoru v C++
mujVektor[0].cislo = 50;
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
26.10.2010 00:02 jirka36 | skóre: 2
Rozbalit Rozbalit vše Re: vektor vektoru v C++
struct Uloz { int cislo; string data; };

vector< uloz> spojeni;

Uloz save = {0, ""};

spojeni [0].cislo = 10;

cout<< spojeni [0].cislo;

kdyz to mam takto tak mi to hodi segmentation fault
Vojta Drbohlav avatar 26.10.2010 00:47 Vojta Drbohlav | skóre: 26 | blog: Blog | Strahov
Rozbalit Rozbalit vše Re: vektor vektoru v C++
Musíš do toho vektoru nejdřív něco přidat a to pomocí metod push_back nebo insert. Například něco jako:
std::vector<Uloz> spojeni;
Uloz save;
save.cislo = 10;
save.string = "str";
spojeni.push_back(save);
Pro bližší popis metod, které poskytuje std::vector se podívej třeba sem.
Vojta Drbohlav avatar 26.10.2010 00:48 Vojta Drbohlav | skóre: 26 | blog: Blog | Strahov
Rozbalit Rozbalit vše Re: vektor vektoru v C++
Nebo také ještě můžeš nastavit jeho velikost pomocí resize.
26.10.2010 01:58 jirka36 | skóre: 2
Rozbalit Rozbalit vše Re: vektor vektoru v C++
dekuji
26.10.2010 10:00 jirka36 | skóre: 2
Rozbalit Rozbalit vše Re: vektor vektoru v C++
Odpovědět | | Sbalit | Link | Blokovat | Admin

jeste mam jednu otazku kdyz mam teda

vector< Uloz> spojeni;

Uloz save;

save.cislo = 0;

save.string = "";

spojeni.push_back(save);

 

ted udelam

save.cislo = 10;

save.string = "ahoj";

spojeni.push_back(save);

a mam teda vektor se dvemi elementy a to strukturami. A ted kdyz bych chtel projit ten vector a kdyz naleznu strukturu, kde je cislo rovno 10 tak bzch chtel pridat do toho stringu "nazdar", aby se pak prikazem

cout<< spojeni[1].string;

vypsalo: ahojnazdar

 

tak to zkousim udelat timto zpusobem, ale marne

for(int i = 0; i < spojeni.size(); i++)

{

if (spojeni[i].cislo = 10)

{

save.string += "nazdar";

}

}

26.10.2010 10:12 jekub
Rozbalit Rozbalit vše Re: vektor vektoru v C++
for(int i = 0; i < spojeni.size(); i++)

{

if (spojeni[i].cislo == 10)

{

spojeni[i].string += "nazdar";

}

26.10.2010 10:28 jirka36 | skóre: 2
Rozbalit Rozbalit vše Re: vektor vektoru v C++
jj uz sem na to taky prisel. dekuji

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.