Uvod u nizove
This commit is contained in:
parent
e091200ca9
commit
f6ec99eb17
@ -5,3 +5,4 @@
|
||||
- [Šta su biblioteke u jeziku C++?](/lekcije/sta_su_biblioteke.md) (iostream, iomanip, cmath, ...)
|
||||
- [Matematičke funkcije](/lekcije/matematicke_funkcije.md) (sqrt, pow, min, max i druge)
|
||||
- [Ispis realnih brojeva](/lekcije/ispis_realnih.md) (i lekcija o snalažljivosti!)
|
||||
- [Uvod u nizove](/lekcije/nizovi_uvod.md)
|
||||
|
81
lekcije/nizovi_uvod.md
Normal file
81
lekcije/nizovi_uvod.md
Normal file
@ -0,0 +1,81 @@
|
||||
[↩ Nazad na sadržaj](../README.md)
|
||||
|
||||
# Uvod u nizove
|
||||
|
||||
Do sada, ako ste hteli da deklarišete 5 promenljivih, morali biste da uradite nešto poput:
|
||||
```c++
|
||||
int i_1,i_2,i_3,i_4,i_5;
|
||||
```
|
||||
|
||||
Šta da ste hteli da deklarišete 100 promenljivih? To bi potrajalo. I zašto bismo uopšte hteli da ikad imamo 100 promenljivih?
|
||||
|
||||
Zamislite situaciju u kojoj pravimo program koji treba da analizira temperature u prethodnoj godini, i za njegov rad je potrebno sačuvati prosečne dnevne temperature za svaki dan u toj godini.
|
||||
|
||||
Praviti 365 * 2 promeljivih očigledno nije dobro rešenje, i nama u pomoć tu dolaze nizovi (eng. *array*). Uz pomoć nizova možemo sačuvati veliki broj podataka u samo jednoj promeljivoj, to jest da ti podaci imaju zajedničko ime. Na primer:
|
||||
```c++
|
||||
int temperature[365];
|
||||
```
|
||||
|
||||
U ovom slučaju promeljiva `temperature` čuva 365 vrednoti tipa `int`, i njih možemo postavljati ili očitavati korišćenjem kvadratnih zagrada:
|
||||
```c++
|
||||
temperature[0] = -2;
|
||||
temperature[1] = +1;
|
||||
temperature[2] = +4;
|
||||
```
|
||||
|
||||
Svaki podatak u nizu ima svoj redni broj, pri čemu odbrojavanje kreće od nule. U primeru gore vrednost u `temperature[0]` bi zapravo odgvarala prvom januaru, i postavili smo tu vrednost na -2.
|
||||
|
||||
Dakle, prosečna temperature u prva 3 dana u toj godini bi na primer mogla da se izračuna po formuli:
|
||||
```c++
|
||||
double prosek = (temperature[0] + temperature[1] + temperature[2]) / 3.0;
|
||||
```
|
||||
|
||||
## Korišćenje nizova uz pomoć petlji
|
||||
|
||||
Kako niz služi za čuvanje velikog broja podataka, i kako svaki od njih ima svoj redni broj; najčešći način baratanja nizovima je unutar petlji.
|
||||
|
||||
Temperature u mesecu januaru možemo da ispišemo tako što pristupimo 31-om elementu niza, od 0-og do 30-og (još jednom, odbrojavanje kreće od 0!):
|
||||
```c++
|
||||
cout << "Temperature u januaru su:" << endl;
|
||||
for(int dan = 0; dan < 31; dan++) {
|
||||
cout << temperature[dan] << endl;
|
||||
}
|
||||
```
|
||||
---
|
||||
|
||||
Naravno, ovaj primer neće da radi ukoliko ne popunimo niz sa pravim vrednostima, pa u nastavku dajemo primer programa koji niz od 10 elemenata popunjava kvadratima brojeva od 0 do 9, i zatim ispisuje njegove elemente:
|
||||
|
||||
```c++
|
||||
#include <iostream>
|
||||
|
||||
using namespace std;
|
||||
|
||||
int main()
|
||||
{
|
||||
int kvadrati[10];
|
||||
|
||||
for (int i = 0; i < 10; i++) {
|
||||
kvadrati[i] = i * i;
|
||||
}
|
||||
|
||||
for (int i = 0; i < 10; i++) {
|
||||
cout << i << ". broj u nizu je " << kvadrati[i] << endl;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
```
|
||||
|
||||
Kada ga pokrenemo, ovaj program ispisuje:
|
||||
```
|
||||
0. broj u nizu je 0
|
||||
1. broj u nizu je 1
|
||||
2. broj u nizu je 4
|
||||
3. broj u nizu je 9
|
||||
4. broj u nizu je 16
|
||||
5. broj u nizu je 25
|
||||
6. broj u nizu je 36
|
||||
7. broj u nizu je 49
|
||||
8. broj u nizu je 64
|
||||
9. broj u nizu je 81
|
||||
```
|
Loading…
Reference in New Issue
Block a user