|
Programiranje Programski jezici, tehnike, alatke... |
|
Alatke vezane za temu | Vrste prikaza |
29.10.2011, 17:53 | #21 |
Član
Član od: 15.12.2010.
Lokacija: Beograd
Poruke: 120
Zahvalnice: 26
Zahvaljeno 39 puta na 32 poruka
|
Re: Dinamičko menjanje dužine niza
@Mr.Deeds lakše možda i jeste ali je zato veoma pogrešno. Da ne ulazimo u to da su traženi random brojevi a ne korisnički unos, poenta priče je upravo na korišćenju dinamičkih nizova. U tvom primeru ti ograničavaš korisnika na niz od 20 elemenata, ali šta ako ja želim da unesem mnogo veći niz. Kako ćeš onda da rešiš taj problem. Da li ćeš možda da pokušaš da predvidiš koliki bi mogao biti maksimalni unos. Možda recimo milion elemenata. U takvoj situaciji tvoj kod postaje strahovitio komplikovan ako ne i nemoguć. Dinamički nizovi to vrlo jednostavno rešavaju i oslobađaju nas svih komplikacija.
Kod:
#include <iostream> #include <vector> #include <cstdlib> #include <ctime> using namespace std; int main() { int d; cout << "unesi broj elemenata "; cin >> d; // od jedan do ???????? (koliko ima slobodne memorije) vector<int>x; vector<int>y; srand(time(0)); for (int i=0;i<d;++i) { x.push_back((rand()%30)+1); if (x.back()%2)y.push_back(x.back()); } for (unsigned int i=0;i<y.size();++i) cout << y.at(i) << " "; return 0; } |
30.10.2011, 10:36 | #22 |
Starosedelac
|
Re: Dinamičko menjanje dužine niza
Ja sam samo dao primer za ono sto je on postavio kao zadatak, jer ako je niz x[20] trazen, onda sigurno nece biti uneseno vise elemenata. Bezveze komplikovati zadatak sa dinamickim nizovima kad je trazena konkretna stvar...
|
30.10.2011, 15:14 | #23 |
Član
|
Re: Dinamičko menjanje dužine niza
Onda nisi dobro pročitao zadatak. Ti si unapred odredio dužinu y niza iako broj njegovih elemenata još uvek nije poznat. x niz je dužine 20, a da sam na taj način hteo da rešim zadatak onda ne bi ni postavljao temu, jer sam lako mogao da stavim da dužina y niza bude jednaka dužini x niza. Kolika je verovatnoća da će svih 30 brojeva biti neparni? Znaš i sam, zato bi svi preostali elementi bili popunjeni nulama, a to nije najbolje rešenje. chaami je u pravu. Pored toga, u pitanju je bio zadatak iz C#, a ne iz C-a.
|
Sledeći korisnik se zahvaljuje korisniku Bolton na korisnoj poruci: | ||
chaami (30.10.2011) |
Bookmarks sajtovi |
Alatke vezane za temu | |
Vrste prikaza | |
|
|