Kao što sam naziv kaže radi se o dvodimenzionalnim nizovima, koji se sastoje od stupaca i redaka. Za njihovo izvođenje potrbne su nam dvije for naredbe pomoću kojih ćemo moći doći do svakog polja u nizu.
Ovako izgleda dvodimenzionalni niz i način kako se on sprema u memoriju računala, prva for petlja označava prvi broj polja(redak), a druga for petlja drugi broj polja(stupac):
Program koji ispisuje broj koji želimo u n-redova i n-stupaca:
#include<iostream> using namespace std;int main(){int red,stupac,broj;int i,x;cout<<"Koliko redova želite?";cin>>red;cout<<"Koliko stupaca želite?";cin>>stupac;cout<<"Koji broj želite";cin>>broj;for ( i = 0; i<red; i++){ cout<<endl;for (x = 0; x<stupac; x++) Kada se ova for petlja izvrši do kraja tek{ onda se i povečava za jedan. cout<<broj<<" ";}}system("pause");return 0;}
Program koj računa koliko je brojeva većih od prosjeka niza:
#include<iostream>using namespace std;int main(){ int polje[20][20]; int x,i; int s,l,f,p; float z; cin>>l; s=0; f=0; p=0; for (x=0;x<l;x++) { for (i=0;i<l;i++) { cin>>polje[x][i]; f=f+polje[x][i]; Ovdje zbrajamo sve brojeve niza. s=s+1; Ovdje brojimo koliko ima članova u nizu. } } z=f/s; Ovdje računamo prosjek. for (x=0;x<l;x++) { for (i=0;i<l;i++) { if( polje[x][i]>z) Ako je broj u polju veći od prosjeka uvjet je p=p+1; ispunjen i vrijednost p dodajemo 1. } } cout<<"Vecih je"<<p<<endl; system("PAUSE"); return 0;}
Program koji računa razliku zbroja brojeve u trećem stupcu i zbroja brojeva u trećem retku:
#include<iostream>using namespace std;int main(){ int polje[20][20]; int x,i; int s,l,f,p; float z; cin>>l; s=0; f=0; for (x=0;x<l;x++) { for (i=0;i<l;i++) { cin>>polje[x][i]; } } for (x=0;x<l;x++) { for (i=0;i<l;i++) { if (i==2) { s=s+polje[x][i]; } } } for (x=0;x<l;x++) { for (i=0;i<l;i++) { if (x==2) { f=f+polje[x][i]; } } } cout<<"Razlika je"<<s-f<<endl; system("PAUSE"); return 0;} Na primjeru ovog zadatka ste mogli vidjeti da niz možemo koristiti koliko god puta želimo u for petljama, ali isto tako ga možemo koristiti i sa svim drugim naredbama.
Program koji računa trag matrice:
#include<iostream>using namespace std;int main(){ int polje[20][20]; int x,i; int s,l,f,p; float z; cin>>l; s=0; f=0; for (x=0;x<l;x++) { for (i=0;i<l;i++) { cin>>polje[x][i]; } } for (x=0;x<l;x++) { for (i=0;i<l;i++) { if (x==i) Budući da je trag matrice zbroj svih elemenata na glavnoj { dijagonali, a elementi glavne dijagonale imaju svojstvo s=s+polje[x][i]; da su im prvi i drugi broj unutar [][] jednaki, ovaj } uvjet mora biti ispunjen. } } cout<<"trag matrice je"<<s<<endl; system("pause"); return 0;}
Program koji računa umnožak svih brojeva na sporednoj dijagonali:
#include<iostream>using namespace std;int main(){ int polje[20][20]; int x,i; int s,l,f,p; float z; cin>>l; s=1; f=0; for (x=0;x<l;x++) { for (i=0;i<l;i++) { cin>>polje[x][i]; } } for (x=0;x<l;x++) { for (i=0;i<l;i++) { if ((x+i)==(l-1)) Za sporednu dijagona je karakteristično da brojevi u [][] { daju isti zbroj. Budući da smo for petlju krenuli s 0, s=s*polje[x][i]; onda nam je taj zbroj za jedan manji od l. } } } cout<<"trag matrice je"<<s<<endl; system("pause"); return 0;}