Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Taulukko-ongelma

HtH [25.11.2002 18:23:00]

#

Ongelmani koskee, kuten otsikostakin voi jo päätellä, taulukoita.
Eli, minun pitäisi lisätä taulukkoon uusia alkioita lennossa, jos joku ei tajunnut, tein pienen havainnollistavan "koodin":

class My_Own_Class {
public:
   int Muuttujani[0];
   void lisaa_muttujaan_yksi_alkio();
}

void My_Own_Class:lisaa_muttujaan_yksi_alkio() {
   // Tähän koodi, joka lisää tuohon yhden alkion.
}

Tuo esimerkkikoodini saattaa olla nyt vähän turha, mutta ainakin kaikki tajusi :]

Hipo [25.11.2002 19:11:28]

#

Tuon voisi c:ssä tehdä tekemällä taulukosta pointterin ja allokoimalla aina lisää tilaa taulukko = realloc(taulukko, taulukon_uusi_alkioiden_maara*sizeof(int)). C++:ssa on kuitenkin oikein mukava vector-luokka dynaamista muistinvarausta varten, heitänpä lennosta koodia:

#include <vector>

vector<int> vektori; // Määritys, tyyppi on int

vektori.push_back(123); // Lisää viimeiseksi luvun 123
vektori.push_back(555);
vektori.push_back(6);
// vektorin elementit on nyt: 123, 555, 6

cout << "Vektorissa elementtejä: " << vektori.size() << endl;

vektori[1] = 44;  // Asettaa toisen elementin arvoksi 44

progo [26.11.2002 15:11:13]

#

Noi vektorit ovat todella hyviä ja mukavia käyttää, suosittelen vain muiden tekniikoiden pudottamista, vektorit rulez! PS. jollei vektorit riitä, voi käyttää muitakin ihmerösöjä, kuten map, list, deque, slist, set, multiset, map, ja multimap.. valintaa riittää.. ja nämä kaikki tarjotaan ilmaiseksi STL:n mukana :P

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta