• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[C++] Jak zrobić dwuwymiarowy vector?

Object Storage Arubacloud
+2 głosów
10,868 wizyt
pytanie zadane 27 maja 2015 w C i C++ przez iwan9449 Pasjonat (20,810 p.)
Witam, otóż problem jest taki, że nie wiem za bardzo jak zrobić dwuwymiarowy vector. Jedną ze składowych klasy ma być właśnie ten vector, a w konstruktorze chce podać wymiary tego vectora i wypełnić go danymi.

Pozdrawiam!

1 odpowiedź

0 głosów
odpowiedź 27 maja 2015 przez Kozerski Igor Użytkownik (610 p.)
#include <vector>

class macierz
{
public: vector<vector<int> > vector_dwuwymiarowy ;//deklaracja

////////////////////////////////////konstruktor
public:macierz(int a,int b)
{

vector<int> tab ;
  for(int j=0;j<b;j++)
  tab.push_back(0);//wypełniam zerami
   
 
  for (int i = 0 ; i < a ; i++)
  {
    vector_dwuwymiarowy.push_back(tab) ; //wypełniam vector vectorami
  }

}
///////////////////////////////////////////

public:int get_vector(int a,int b)
{
return vector_dwuwymiarowy[a][b];
}
public:void set_vector(int a,int b,int c)
{
vector_dwuwymiarowy[a][b]=c;

}

};

 

vector dwuwymiarowy to vektor stworzony z innych vectorów, odwołujesz się potem do niego jak do zwykłej tablicy

pozdrawiam
komentarz 27 maja 2015 przez iwan9449 Pasjonat (20,810 p.)
Dzięki za odpowiedź, doszedłem już w którym miejscu robie błąd, a Twoja odpowiedź mnie w tym utwierdziła ;)

Pozdrawiam!
komentarz 27 maja 2015 przez adrian17 Ekspert (344,860 p.)
vector<int> tab ;
  for(int j=0;j<b;j++)
  tab.push_back(0);//wypełniam zerami
   
 
  for (int i = 0 ; i < a ; i++)
  {
    vector_dwuwymiarowy.push_back(tab) ; //wypełniam vector vectorami
  }

Można krócej i optymalniej:

macierz(int a,int b)
    : vector_dwuwymiarowy(a, vector<int>(b))
{
}

 

Podobne pytania

0 głosów
1 odpowiedź 1,061 wizyt
pytanie zadane 3 września 2016 w C i C++ przez niezalogowany
+1 głos
2 odpowiedzi 298 wizyt
pytanie zadane 17 lipca 2015 w C i C++ przez Dash Nałogowiec (29,650 p.)
–3 głosów
1 odpowiedź 645 wizyt
pytanie zadane 1 czerwca 2020 w C i C++ przez WiktroH Mądrala (6,550 p.)

92,583 zapytań

141,434 odpowiedzi

319,669 komentarzy

61,966 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...