25.09.2015 Views

KRATKA PONOVITEV OSNOV C++ 1

Ponovitev C++.

Ponovitev C++.

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

17.2.2011<br />

Polja – zbirke elementov istega tipa (1)<br />

• polja ločimo na<br />

◦ statična<br />

velikost polja je znana v naprej (konstanta)<br />

◦ dinamična<br />

velikost je lahko spremenljivka<br />

sami rezerviramo in sprostimo pomnilnik<br />

uporabimo kazalec<br />

statična polja<br />

tip ime[velikost];<br />

int polje[5];<br />

37<br />

dinamična polja<br />

tip *ime; // kazalec na polje, prostor za<br />

// elemente še ni rezerviran<br />

ime = new tip[velikost]; // rezerviraj pomn.<br />

int *polje = new int[5];<br />

Polja – zbirke elementov istega tipa (2)<br />

• delamo s posameznimi elementi v polju<br />

• elementi so indeksirani od 0 naprej<br />

• dostop do posameznega elementa<br />

◦ operator [ ]<br />

◦ indeks elementa<br />

◦ npr. polje[0] = 10;<br />

38<br />

• pri delu z dinamičnim poljem moramo sami sprostiti<br />

rezerviran pomnilnik<br />

◦ delete[] ime;<br />

Primer 3 - polja<br />

Nizi – delo s tekstom<br />

/* program prebere polje n celih<br />

števil, kjer n preberemo preko<br />

tipkovnice, nato preveri, ali so vsa<br />

števila v polju deljiva s 3. */<br />

#include <br />

using namespace std;<br />

void preberi (int*aP, int aN){<br />

for (int i = 0; i < aN; i++){<br />

cout > aP[i];<br />

}<br />

}<br />

bool preverilastnost(int*aP, int aN){<br />

// iskali bomo takega,<br />

// ki ne ustreza<br />

for (int i = 0; i < aN, i++){<br />

if (a[i] %3 != 0)<br />

return false;<br />

}<br />

return true;<br />

}<br />

39<br />

int main(){<br />

int n;<br />

cout > n;<br />

int *polje = new int [n];<br />

preberi (polje, n);<br />

if (preverilastnost(polje,n) == true)<br />

cout niz1;<br />

7

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!