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

Jedan pocetnicki problem sa vektorima

[es] :: C/C++ programiranje :: C/C++ za početnike :: Jedan pocetnicki problem sa vektorima

[ Pregleda: 1943 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

kruparica
Branislav Bogdanovic
nezaposlen
Velebit

Član broj: 254103
Poruke: 101
*.bitsyu.net.



Profil

icon Jedan pocetnicki problem sa vektorima15.04.2011. u 13:32 - pre 143 meseci
pre nekih 2 meseca poceo sam da ucim c++..

poceo sam sa jednim Tutorijalom za apsolutne pocetnike kojeg sam nasao na Tutorijalí.org..
taj tutorijal uvideo sam da je star pa sam kupio C++ izvornik I C++ za pocetnike Obe Knjige od lipmana
problem je u tome sto vektori nisu bas objasnjeni u knjizi mnogo se koriste ali ih ne shvatam

evo problema
#include <iostream>


#include <vector>

using namespace std;

int main()

{


const int niz = 10;
vector<int>pellniz(niz);

for ( int ix = 2; ix < niz;++ix )
pellniz[ix] = pellniz[ix-2]+2*pellniz[ix-1];

cout << pellniz[ix];

}

kao u knjizi zelim da mi izracuna pellniz 1,2,5,12,29,70,169,408...
ali mi javlja gresku(if you use -fpermissive G++ wil accept your code)
prepisao sam kod iz knjige pokusavao svasta i isto ili jos gore prikaze gresku kao Taj Fajl koji sam kompajlirao kao Novi.exe has stopped working
molim pomoc
Hvala



ako neko od vas ima vremena mogao bi mi objasniti nesto o vektorima u knjizi je sve nesto izokolo ostale lekcije su shvatljive donekle

[Ovu poruku je menjao kruparica dana 15.04.2011. u 14:46 GMT+1]
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1239



+94 Profil

icon Re: Jedan pocetnicki problem sa vektorima15.04.2011. u 23:37 - pre 143 meseci
Sledeći put stavi ovde kompletnu poruku koju ti kompajler prikazuje, nemoj ništa da izostavljaš. Ovako odokativno, fali ti return 0 na kraju funkcije main, a nisi ni inicijalizovao prva dva elementa niza na 1 i 2. Ono što te u stvari zeza je što cout treba da se izvršava unutar for petlje. Poruka koju dobijaš je takva jer je promenljiva ix definisana unutar for petlje, a ti je koristiš kod cout (van for petlje). To se ranije moglo, ali to je bila greška, i to sad više ne može (osim ako se ne uvede ta opcija "permissive" prilikom kompajliranja, ako baš hoćeš da koristiš te prevaziđene opcije).
 
Odgovor na temu

chaami
Goran Petrović
nezaposlen
Beograd

Član broj: 262685
Poruke: 84
77.243.20.*



+28 Profil

icon Re: Jedan pocetnicki problem sa vektorima16.04.2011. u 23:26 - pre 143 meseci
Vektor ti je isto sto i obican niz samo sto je dinamicki. Linearan je kao i obican niz, samo sto imas potpunu kontrolu nad njim. Mozes da mu menjas duzinu po potrebi, konkretno tvoj pellniz koji si napravio menjas sa pellniz.resize(20) tako da sad ima 20 elemenata. Njegovu trenutnu duzinu mozes da dobijes sa pellniz.size() ... i jos mnogo toga.
Pogledaj ovaj tutorial
ili http://www.cplusplus.com/reference/stl/vector/
 
Odgovor na temu

kruparica
Branislav Bogdanovic
nezaposlen
Velebit

Član broj: 254103
Poruke: 101
*.bitsyu.net.



Profil

icon Re: Jedan pocetnicki problem sa vektorima18.04.2011. u 10:34 - pre 143 meseci
Mihajlo Hvala ti probao sam i sa return(0); i dodelio sam vrednosti 1. i 2. clana niza..

pokusao sam sa cout<< 'pelniz(ix)'; onda ispise brojeve ali se brojevi ne poklapaju sa racunskim zadatkom...
uostalom koju knjigu da nabavim a da je najnovija iz C++a?
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1239



+94 Profil

icon Re: Jedan pocetnicki problem sa vektorima18.04.2011. u 11:04 - pre 143 meseci
Ako nedostaju prva dva broja u nizu, to je zato što oni nisu ni pokriveni for petljom, jer petlja ide od indeksa 2 (umesto od indeksa 0). Jedan način je da prva dva broja ispišeš ručno pre petlje, a drugi je da zapravo imaš dve petlje. U prvoj inicijalizuješ niz (počevši od indeksa 2), a u drugoj ispisuješ niz (počevši od indeksa 0). Recimo ovako:

Code:

for (int ix = 2; ix < niz; ++ix)
  pellniz[ix] = pellniz[ix-2]+2*pellniz[ix-1];

for (int ix = 0; ix < niz; ++ix)
  cout << pellniz[ix];

 
Odgovor na temu

chaami
Goran Petrović
nezaposlen
Beograd

Član broj: 262685
Poruke: 84
77.243.20.*



+28 Profil

icon Re: Jedan pocetnicki problem sa vektorima18.04.2011. u 18:46 - pre 143 meseci
@kruparica ne možeš da pristupaš elementima vektora sa pellniz(ix), to je pogresno i na mom kompajleru prijavljuje grešku.
Pristupa se ili sa pellniz[ix] ili sa pellniz.at(ix)
Ja sam pre otprilike dve godine resio da pređem sa C na C++ i koristio sam (i još uvek koristim) The C++ Programming Language od Bjarne Stroustrup i The C++ Standard Library od Addison Wesley, i meni dosta pomažu.
Code:
#include <iostream>
#include <vector>

using namespace std;

int main()

{
    const int niz=10;
    vector<int>pellniz;   // vektoru ne moras da naznacis koliko ima elemenata
                          // mozes da ih dodajes i oduzimas koliko god hoces
    pellniz.push_back(1); // ubacujemo prvi element (isto kao da smo napisali pellniz[0]=1)
    pellniz.push_back(2); // iza njega ubacujemo drugi element pellniz[1]=2
                          // sada pellniz ima dva elementa
    cout << pellniz[0] << " ";          // ispisujem prvi clan niza (pristupamo mu kao obicnom nizu)
    cout << pellniz.at(1) << " ";       // ispisujemo i drugi clan ali mu pristupamo drukcije
                                        // ovo je isto sto i pellniz[1]
    for ( int ix = 2; ix < niz;++ix )   // pa tek onda u petlji inicijalizujemo i ispisujemo
    {                                   // ostale elemente
        pellniz.push_back(pellniz[ix-2]+2*pellniz[ix-1]);
        cout << pellniz[ix] << " ";
    }
}

Ovde ti je jedan od načina kako možeš da uradiš program. Tu imas neke od načina korišćenja vektora. Možda ti nešto od ovoga i pomogne.
 
Odgovor na temu

kruparica
Branislav Bogdanovic
nezaposlen
Velebit

Član broj: 254103
Poruke: 101
*.bitsyu.net.



Profil

icon Re: Jedan pocetnicki problem sa vektorima18.04.2011. u 21:30 - pre 143 meseci
CHAMI divim se odgovoru odavno nisam dobio tako dobar odgovor,pokusacu da nadjem knjigu dali ima jos neka knjiga o C++ a da je namenjena pocetnicima C++ Izvornik ocito da je star i nenamenjen pocetnicima imam i C++ Jasnim Jezikom ali u njemu opet pise o koriscenju c jezika unutar C++a..
Koliko vredi Knjiga od Lasla Krausa?
iskreno da vam kazem ako me nesto pitate iz masinstva stolarstva i poljoprivrede znam skoro sve matematiku i fiziku isao na takmicenja statika mi je i danas omiljena,al otkad se poceh iz hobija baviti elektronikom i kompijuterima... shvatam sve ali sve je nekako lose objasnjeno..
 
Odgovor na temu

kruparica
Branislav Bogdanovic
nezaposlen
Velebit

Član broj: 254103
Poruke: 101
*.bitsyu.net.



Profil

icon Re: Jedan pocetnicki problem sa vektorima21.04.2011. u 13:08 - pre 143 meseci
PROBLEM Resen uz pomoc clana Chaami...
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Jedan pocetnicki problem sa vektorima

[ Pregleda: 1943 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

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