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

[C++] Jak zrobić dwuwymiarowy vector?

VPS Starter Arubacloud
+2 głosów
11,170 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 (349,960 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,115 wizyt
pytanie zadane 3 września 2016 w C i C++ przez niezalogowany
+1 głos
2 odpowiedzi 353 wizyt
pytanie zadane 17 lipca 2015 w C i C++ przez Dash Nałogowiec (29,650 p.)
–3 głosów
1 odpowiedź 814 wizyt
pytanie zadane 1 czerwca 2020 w C i C++ przez WiktroH Mądrala (6,550 p.)

93,022 zapytań

141,986 odpowiedzi

321,288 komentarzy

62,367 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

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...