Presentation is loading. Please wait.

Presentation is loading. Please wait.

OSNOVE PROGRAMIRANJA U PROGRAMSKOM JEZIKU

Similar presentations


Presentation on theme: "OSNOVE PROGRAMIRANJA U PROGRAMSKOM JEZIKU"— Presentation transcript:

1 OSNOVE PROGRAMIRANJA U PROGRAMSKOM JEZIKU
C++ OSNOVE PROGRAMIRANJA U PROGRAMSKOM JEZIKU 7. dio

2 Polja Polje (engl. array) je niz objekata istog tipa.
Objekti od kojih se polje sastoji nazivaju se elementi polja. Pojedini elementi numerirani su redom 0, 1, 2, 3, … Ti brojevi zovu se indeksi i preko njih se može direktno pristupiti bilo kojem elementu polja. Ako je a ime polja od n elemenata, tada su pojedini elementi označeni s: a[0], a[1], a[2], …, a[n-1] Indeks ukazuje koliko je neki element udaljen od početnog elementa (koji ima inedks 0)

3 Polja Polja se koriste kada radimo s više podataka istog tipa koji čine neku cjelinu, a trebamo ih pohraniti radi daljnje obrade. U memoriji polje zauzima kontinuirani prostor. Polja mogu biti: jednodimenzionalna i višedimenzionalna

4 Jednodimenzionalna polja
Deklaracija: tip naziv_polja [dimenzija] npr. int a[100]; float i[10]; char t[100]; Duljina deklariranog polja se ne može mijenjati.

5 Jednodimenzionalna polja
Pridruživanje vrijednosti elementima polja se može obaviti prilikom deklariranja, primjerice: int broj[5] = {5, 10, 15, 20, 25} ili int broj[] = {5, 10, 15, 20, 25} Ako je deklarirana dimenzija polja veća od pridruženih podataka, preostalim se članovima pridružuje 0. int A[5] = {1, 2, 3} A[0] A[1] A[2] A[3] A[4] 1 2 3

6 Jednodimenzionalna polja
Pridruživanje vrijednosti i/ili ispis vrijednosti članova polja najčešće se obavlja u petlji. //DEKLARIRANJE int x[6]; int i; //UNOS ČLANOVA POLJA for (i=0;i<6;i++) { cout<<"x["<<i<<"]="; cin>>x[i]; } //ISPIS ČLANOVA POLJA cout<<endl<<"x["<<i<<"]="<<x[i];

7 Zadatak 1. Unijeti n članova jednodimenzionalnog polja (zadaje korisnik), ispisati ih u obrnutom redoslijedu (od zadnjeg ka prvom) i ispisati njihov zbroj.

8 Zadatak 1. #include<iostream> #include<conio.h>
using namespace std; int main() { int i,n,zbroj; zbroj=0; cout<<"Broj clanova niza? "; cin>>n; int x[n]; for (i=0;i<n;i++) cin>>x[i]; zbroj=zbroj+x[i]; } for (i=n-1;i>=0;i--) cout<<"x["<<i<<"]="<<x[i]<<endl; cout<<"Zbroj clanova polja = "<<zbroj; getch(); return 0;

9 Zadatak 2. Unijeti n članova jednodimenzionalnog polja (zadaje korisnik), sortirati ih u opadajućem redoslijedu i ispisati.

10 Zadatak 2. #include <iostream> #include <conio.h>
using namespace std; int main () { // DEKLARIRANJE int x[10]; int y[10]; int i, j, n; // UNOS cout << "Unesite broj clanova polja: "; cin >> n; for (i = 0; i < n; i++) cout << "Unesite clan br. " << i << ": "; cin >> x[i]; y[i] = x[i]; }

11 Zadatak 2. // SORTIRANJE for (i = 0; i < n-1; i++) {
for (j = i+1; j < n; j++) if (y[i] < y[j]) swap(y[i],y[j]); // funkcija swap se korisiti za zamjenu vrijednosti dvije darijable } // ISPIS cout <<endl<< "niz x:" << '\t' << "sortirani niz y:" << endl; for (i = 0; i < n; i++) cout << x[i] << '\t' << y[i] << endl; getch(); return 0;

12 Dvodimenzionalna polja
Dvodimenzionalno polje se može shvatiti kao tablica sa određenim brojem redova i stupaca. Položaj člana polja određen je sa dva indeksa, gdje prvi predstavlja red, a drugi stupac. Deklaracija dvodimenzionalnog polja: int A[3][2] Prvi član polja je A[0][0], a posljednji A[2][1]

13 Dvodimenzionalna polja
Pridruživanje vrijednosti članovima dvodimenzionalnog polja vrši se tako da se vrijednosti svakog reda navode unutar vitičastih zagrada. { {...,...,...}, {...,...,...} ... }; Primjerice: int A[3][2]={{1,2}, {3,4}, {5,6}}; 1. stupac 2. stupac red 1 2 2. red 3 4 3. red 5 6

14 Zadatak 3. Unijeti članove dvodimenzionalnog polja i ispisati ih u obliku tablice.

15 Zadatak 3. #include<iostream> #include<conio.h>
using namespace std; int main() { int i,j; // DEKLARIRANJE POLJA I PRIDRUŽIVANJE VRIJEDNOSTI int X[2][3]={{10,11,12}, {20,21,22}}; for(i=0;i<2;i++) for(j=0;j<3;j++) // ISPIS VRIJEDNOSTI ČLANA [i][j] cout<<X[i][j]<<" "; } cout<<endl; getch(); return 0;

16 Dvodimenzionalna polja
Ukoliko je deklarirana dimenzija niza veća od broja pridruženih vrijednosti, ostalim članovima se dodjeljuje vrijednost 0. Primjerice, da smo u prethodnom primjeru umjesto int X[2][3]={{10,11,12}, {20,21,22}}; naveli int X[2][3]={10,11,12,20} članovima X[1][1] i X[1][2] bi bila pridružena 0.

17 Dvodimenzionalna polja

18 Zadatak 4. Unijeti članove dvodimenzionalnog polja [3][3] te ispisati ih tako da u redovima budu vrijednosti kolona. Primjer: > > >

19 Zadatak 4. #include <iostream> #include <conio.h>
#include <iomanip> using namespace std; int main() { int i,j; int X[3][3]; // UNOS CLANOVA NIZA for (i=0;i<3;i++) for (j=0;j<3;j++) cout<<"X["<<i<<"]]"<<j<<"] "; cin>>X[i][j]; cout<<endl; }

20 Zadatak 4. // ISPIS UNIJETOG POLJA for (j=0;j<3;j++) {
for (i=0;i<3;i++) cout<<setw(5)<<X[j][i]; } cout<<endl; cout<<endl<<endl; // IPIS POLJA SA ZAMJENOM REDOVA I KOLONA (TRANSPOZICIJA) cout<<setw(5)<<X[i][j]; getch(); return 0;


Download ppt "OSNOVE PROGRAMIRANJA U PROGRAMSKOM JEZIKU"

Similar presentations


Ads by Google