Komentar o dužini nizova

This commit is contained in:
ratatuj 2025-02-01 10:19:41 +01:00
parent 61111db13c
commit cbe63ecf5a

View File

@ -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 : )