Komentar o dužini nizova
This commit is contained in:
parent
61111db13c
commit
cbe63ecf5a
@ -78,4 +78,24 @@ Kada ga pokrenemo, ovaj program ispisuje:
|
|||||||
7. broj u nizu je 49
|
7. broj u nizu je 49
|
||||||
8. broj u nizu je 64
|
8. broj u nizu je 64
|
||||||
9. broj u nizu je 81
|
9. broj u nizu je 81
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Određivanje dužine niza
|
||||||
|
|
||||||
|
Kao što ste primetili, prilikom stvaranja (deklaracije) niza potrebno mu je dati neku dužinu - broj elemenata u tom nizu. Dužina niza ne može da se promeni nakon stvaranja. Štoviše, dužina mora biti poznata pre pokretanja programa, te ne možemo koristiti promenljive za njeno postavljanje.
|
||||||
|
|
||||||
|
Dakle, sledeći kod **nije dozvoljen**:
|
||||||
|
```c++
|
||||||
|
int n;
|
||||||
|
cin >> n;
|
||||||
|
int niz[n]; // ovo ne sme!
|
||||||
|
```
|
||||||
|
|
||||||
|
Kako onda rešiti zadatak u kom je potrebno napraviti niz baš dužine `n`? Obično će nam unapred biti poznat opseg mogućih vrednosti za `n`, na primer da važi `1 ≤ n ≤ 1000`. U takvom slučaju dužinu niza ćemo postaviti na najveću moguću vrednost `n`, u ovom slučaju 1000:
|
||||||
|
```c++
|
||||||
|
int n;
|
||||||
|
cin >> n;
|
||||||
|
int niz[1000]; // sve OK
|
||||||
|
```
|
||||||
|
|
||||||
|
Ovakav kod će da radi, ali će deo niza ostati neiskorišćen. Za `n = 10`, 990 od 1000 ostaju neiskorišćeni. U praksi se to rešava korišćenjem dinamičkih nizova, odnosno strukture `vector`, ali o tome kasnije : )
|
||||||
|
Loading…
Reference in New Issue
Block a user