Primjer 1:
Napisati program za ispis članova kvadratne NxN matrice.
RJEŠENJE:
#include <iostream>
#define dim 10
using namespace std;
int main()
{
int n,i,a[dim][dim];
cout << " Upisi br.redova i kolona matrice nxn = ";
cin >> n;
cout<<endl;
cout<<"Unesi clanove :"<<endl;
for (int i=1;i<=n;i++)
for (int j=1;j<=n; j++)
{
cout <<" a["<<i<<","<<j<<"]=";
cin >>a[i][j];
}
cout<<endl;
cout<<" Upisana matrica je : "<<endl;
for(int i=1; i<=n; i++)
{
for (int j=1; j<=n; j++)
cout <<a[i][j]<<" \t ";
cout<<endl;
}
return 0;
}
EKRAN:
Upisi br.redova i kolona matrice nxn = 3
Unesi clanove :
a[1,1]=12
a[1,2]=3
a[1,3]=962
a[2,1]=23
a[2,2]=7
a[2,3]=18
a[3,1]=156
a[3,2]=77
a[3,3]=3471
Upisana matrica je :
12 3 962
23 7 18
156 77 3471
Primjer 2:
Napisati program za ispis članova pravougaone matrice MxN.
RJEŠENJE:
#include <iostream>
#define brr 10
#define brk 10
using namespace std;
int main()
{
int n,i,j,m,a[brr][brk];
cout << " Upisi br.redova m = ";
cin >> n;
cout << " Upisi br.kolona n = ";
cin>>m;
cout<<endl;
cout<<"Unesi clanove :"<<endl;
for (int i=1;i<=n;i++)
for (int j=1;j<=m; j++)
{
cout <<" a["<<i<<","<<j<<"]=";
cin >>a[i][j];
}
cout<<endl;
cout<<" Upisana matrica je : "<<endl;
for(int i=1; i<=n; i++)
{
for (int j=1; j<=m; j++)
cout <<a[i][j]<<" \t ";
cout<<endl;
}
return 0;
}
EKRAN:
Upisi br.redova m = 2
Upisi br.kolona n = 3
Unesi clanove :
a[1,1]=2
a[1,2]=13
a[1,3]=1557
a[2,1]=34
a[2,2]=921
a[2,3]=45
Upisana matrica je :
2 13 1527
34 921 45
Primjer 3:
Napisati program koji ispisuje najveći(max) član upisane matrice.
RJEŠENJE:
//Ispisuje najveći član poznate matrice
#include <iostream>
using namespace std;
const int redovi = 3;
const int kolone = 4;
int godDobTemp[redovi][kolone] = {
{26, 34, 22, 17},
{24, 32, 49, 13},
{28, 38, 25, 20}
};
int najvecaTemp (int temp[redovi][kolone])
{
int najveca = 0;
for (int i = 0; i < redovi; ++i)
for (int j = 0; j < kolone; ++j)
if (temp[i][j] > najveca)
najveca = temp[i][j];
return najveca;
}
main ()
{
Cout<<“Najveci(max) clan je .... „;
cout << najvecaTemp(godDobTemp) << "\n";
return 0;
}
EKRAN:
Najveci(max) clan je .... 49
Primjer 4:
Napisati program koji ispisuje najveći(max) član kvadratne matrice NxN.
RJEŠENJE:
#include <iostream>
#define dim 10
using namespace std;
main()
{
int n,a[dim][dim],max=0;
cout << "Unesi broj kolona i redova N = ";
cin >> n;
for (int i=1; i<=n; i++)
for (int j=1;j<=n; j++)
{
cout <<"a["<<i<<","<<j<<"]=";
cin >>a[i][j];
if (a[i][j]>max)
max=a[i][j];
}
cout<<"Najveci clan je : "<<max<<endl;
system ("pause");
return 0;
}
EKRAN:
Unesi broj kolona i redova N = 3
a[1,1]=312
a[1,2]=73
a[1,3]=92
a[2,1]=235
a[2,2]=7
a[2,3]=1398
a[3,1]=156
a[3,2]=717
a[3,3]=471
Najveci clan je : 1398
Primjer 5:
Napisati program koji ispisuje najveći(max) član pravougaone matrice MxN.
RJEŠENJE:
//Ispisuje najveci clan matrice MxN
#include <iostream>
#define brr 10
#define brk 10
using namespace std;
int main()
{
int n,m,a[brr][brk],max=0;
cout << "Unesi broj redova m = ";
cin >> m;
cout << "Unesi broj kolona n = ";
cin >> n;
cout<<endl;
cout<<"Upisi clanove matrice :"<<endl;
for (int i=1; i<=m; i++)
for (int j=1;j<=n; j++)
{
cout <<" a["<<i<<","<<j<<"]=";
cin >>a[i][j];
if (a[i][j]>max)
max=a[i][j];
}
cout<<endl;
cout<<" Upisana matrica je : ";
for(int i=1; i<=m; i++)
{
cout << endl;
for (int j=1; j<=n; j++)
cout <<a[i][j]<<" \t ";
}
cout<<endl;
cout<<endl;
cout<<"Najveci clan je : "<<max<<endl;
return 0;
}
EKRAN:
Unesi broj redova m = 3
Unesi broj kolona n = 4
Upisi clanove matrice :
a[1,1]=23
a[1,2]=12
a[1,3]=56
a[1,4]=123
a[2,1]=4
a[2,2]=987
a[2,3]=15
a[2,4]=3163
a[3,1]=439
a[3,2]=2987
a[3,3]=152
a[3,4]=88
Upisana matrica je :
23 12 56 123
4 921 15 3163
439 2987 152 82
Najveci clan je : 3163
Primjer 6:
Napisati program koji ispisuje članove pomnožene sa najvećim članom upisane kvadratne matrice NxN .
RJEŠENJE:
//Ispisuje najveći(max)clan matrice i matricu pomnozenu sa max.clanom
#include <iostream>
#define dim 10
using namespace std;
int main()
{
int n,i,a[dim][dim],b[dim][dim],max=0;
cout << "Unesi br.redova i kolona n=";
cin >> n;
for (int i=1;i<=n;i++)
for (int j=1;j<=n; j++)
{
cout <<" a["<<i<<","<<j<<"]=";
cin >>a[i][j];
if (a[i][j]>max)
max=a[i][j];
b[i][j]=max*a[i][j];
}
cout<<endl;
cout<<"Najveci clan matrice je : "<<max<<endl;
cout<<endl;
cout<<" Clanovi matrice pomnozenih sa... "<<max<< " su: "<<endl;
for (int i=1;i<=n;i++)
for (int j=1;j<=n; j++)
{
cout <<" a["<<i<<","<<j<<"]="<<max*a[i][j]<<endl;
b[i][j]=max*a[i][j];
}
cout<<endl;
cout<<"Dobivena matrica je : "<<endl;
for(int i=1; i<=n; i++)
{
for (int j=1; j<=n; j++)
cout <<b[i][j]<<" \t ";
cout<<endl;
}
return 0;
}
EKRAN:
Unesi br.redova i kolona n = 3
a[1,1]=2
a[1,2]=8
a[1,3]=11
a[2,1]=1
a[2,2]=4
a[2,3]=21
a[3,1]=12
a[3,2]=33
a[3,3]=5
Najveci clan matrice je : 33
Clanovi matrice pomnozenih sa... 33 su:
a[1,1]=66
a[1,2]=264
a[1,3]=363
a[2,1]=33
a[2,2]=132
a[2,3]=693
a[3,1]=396
a[3,2]=1089
a[3,3]=165
Dobivena matrica je :
66 264 363
33 132 693
396 1089 165
Primjer 7:
Napisati program koji ispisuje pravougaonu matricu MxN i matricu A sortiranu po redovima min...max.
RJEŠENJE:
//Ispisuje matricu mxn i matricu A sortiranu po redovima
#include <cstdlib>
#include <iostream>
using namespace std;
unsigned int m,n;
int i,j,k;
float A['m']['n'];
int main()
{
cout<<"Unesite broj redova m = "; cin>>m;
cout<<"Unesite broj kolona n = "; cin>>n;
cout<<"Upisi clanove matrice A :"<<endl;
// Unos elemenata matrice po redovima (za unos po kolonama zamijeniti mjesta indeksima)
for(i=0; i<m; i++){
for(j=0; j<n; j++){
cout<<"A["<<i<<"]["<<j<<"] = "; cin>>A[i][j];
}}
cout<<endl;
cout<<"Upisana je matrica A:"<<endl;
// Ispis elemenata matrice
for(i=0; i<m; i++){
for(j=0; j<n; j++){
cout<<A[i][j]<<"\t";
}
cout<<"\n";
}
// Sortirati matricu A['m']['n'] po redovima od najmanjeg do najveceg elemnta
for(i=0; i<m; i++){
for(j=0; j<n-1; j++){
for(k=j+1; k<n; k++){
if(A[i][k]<A[i][j]){
float pom=A[i][j];
A[i][j]=A[i][k];
A[i][k]=pom;}
}}}
// Ispis elemenata matrice
cout<<"\nMatrica A sortirana po redovima je:\n";
for(i=0; i<m; i++){
for(j=0; j<n; j++){
cout<<A[i][j]<<"\t";
}
cout<<"\n";
}
system("PAUSE");
return 0;
}
EKRAN:
Unesite broj redova m = 3
Unesite broj kolona n = 4
Upisi clanove matrice A :
a[0,0]=231
a[0,1]=1284
a[0,2]=56
a[0,3]=123
a[1,0]=477
a[1,1]=79
a[1,2]=15
a[1,3]=3163
a[2,0]=639
a[2,1]=2987
a[2,2]=152
a[2,3]=82
Upisana matrica je :
231 1284 56 123
477 79 15 3163
639 2987 152 82
Matrica A sortirana po redovima je:
56 123 231 1284
15 79 477 3163
82 152 639 2987
Primjer 8:
Napisati program koji ispisuje pravougaonu matricu MxN i max.clanove po redovima upisane matrice.
RJEŠENJE:
#include <cstdlib>
#include <iostream>
using namespace std;
unsigned int m,n;
int i,j,k;
float A['m']['n'],R['m'];
int main()
{
cout<<"Unesite broj redova m = "; cin>>m;
cout<<"Unesite broj kolona n = "; cin>>n;
cout<<"Unesi elemente matrice A :"<<endl;
// Unos elemenata matrice po redovima (za unos po kolonama zamijeniti mjesta indeksima)
for(i=0; i<m; i++){
for(j=0; j<n; j++){
cout<<" A["<<i<<"]["<<j<<"] = "; cin>>A[i][j];
}}
cout<<endl;
cout<<"Upisana je matrica A:"<<endl;
// Ispis elemenata matrice
for(i=0; i<m; i++){
for(j=0; j<n; j++){
cout<<A[i][j]<<"\t";
}
cout<<"\n";
}
// Trazenje najveceg elementa matrice A
unsigned int i_max=0,j_max=0; //pretpostavljamo da je prvi elemnt najveci
for(i=0; i<m; i++){
for(j=0; j<n; j++){
if(A[i][j]>A[i_max][j_max]){
i_max=i;
j_max=j;
}}}
// Naci najveci element svakog reda matrice i pridruziti ga odgovarajucem
// elementu niza R['m']
for(i=0; i<m; i++){
j_max=0;
for(j=1; j<n; j++){
if(A[i][j]>A[i][j_max]) j_max=j;
}
R[i]=A[i][j_max];
}
cout<<"Najveci elementi redova matrice A su:\n";
for(i=0; i<m; i++){cout<<R[i]<<" ";}
cout<<"\n";
system("PAUSE");
return 0;
}
EKRAN:
Unesite broj redova m = 3
Unesite broj kolona n = 4
Unesi elemente matrice A :
a[0,0]=2
a[0,1]=584
a[0,2]=26
a[0,3]=123
a[1,0]=847
a[1,1]=79
a[1,2]=5
a[1,3]=7163
a[2,0]=639
a[2,1]=2987
a[2,2]=211
a[2,3]=38
Upisana matrica je :
2 584 26 123
847 79 5 7163
639 2987 211 38
Najveci elementi redova matrice A su:
584 7163 2987
Primjer 9:
Napisati program koji ispisuje matricu A,sumu(zbir)elemenata i srednju vrijednost clanova.
RJEŠENJE:
//Ispisuje sumu (zbir) i srednju vrijednost clanova pravougaone matrice A
#include <cstdlib>
#include <iostream>
using namespace std;
unsigned int m,n;
int i,j,k;
float A['m']['n'];
int main()
{
cout<<"Unesite broj redova m = "; cin>>m;
cout<<"Unesite broj kolona n = "; cin>>n;
cout<<"Upisi clanove matrice A :"<<endl;
for(i=0; i<m; i++){
for(j=0; j<n; j++){
cout<<" A["<<i<<"]["<<j<<"] = "; cin>>A[i][j];
}}
cout<<endl;
cout<<"Upisana je matrica A:"<<endl;
// Ispis elemenata matrice
for(i=0; i<m; i++){
for(j=0; j<n; j++){
cout<<A[i][j]<<"\t";
}
cout<<"\n";
}
// Suma i srednja vrijednost elemenata matrice
float suma=0;
for(i=0; i<m; i++){
for(j=0; j<n; j++){
suma+=A[i][j]; // suma=suma+A[i][j];
}}
cout<<endl;
cout<<"Suma svih elemenata matrice je "<<suma
<<", a srednja vrijednost je "<<suma/(m*n)<<".\n";
system("PAUSE");
return 0;
}
EKRAN:
Unesite broj redova m = 3
Unesite broj kolona n = 4
Upisi clanove matrice A :
a[0,0]=24
a[0,1]=5
a[0,2]=11
a[0,3]=53
a[1,0]=8
a[1,1]=90
a[1,2]=15
a[1,3]=3
a[2,0]=392
a[2,1]=28
a[2,2]=2
a[2,3]=86
Upisana je matrica A :
24 5 11 53
8 90 15 3
392 28 2 86
Suma svih elemenata matrice je 717, a srednja vrijednost je 59.75.
Primjer 10:
Napisati program koji ispisuje kvadratnu matricu A,sumu elemenata reda i zbir clanova kolone.
RJEŠENJE:
//Ispisuje matricu,sumu cl.kolone i sumu cl.reda
#include <iostream.h>
#define max 10
main ()
{
int matrica[max][max], sk[max], sr[max];
int n,s=0,p=1;
cout << " Unesi br.redova i kolona matrice nxn = ";
cin >> n;
for (int i=1; i<=max; i++)
{
sk[i]=0;
sr[i]=0;
}
for (int i=1; i<=n; i++)
for (int j=1; j<=n; j++)
{
cout <<"polje["<<i<<","<<j<<"]=";
cin >> matrica[i][j];
sk[j]+=matrica[i][j];
sr[i]+=matrica[i][j];
}
cout<<endl;
cout<<" Upisana matrica je : "<<endl;
for(int i=1; i<=n; i++)
{
cout << endl;
for (int j=1; j<=n; j++)
cout <<matrica[i][j]<<" \t ";
}
cout<<endl;
for (int i=1; i<=n; i++)
cout<<" Suma kolone ["<<i<<"] = "<<sk[i]<<endl;
cout<<endl;
for (int i=1; i<=n; i++)
cout<<"Suma reda ["<<i<<"] = "<<sr[i]<<endl;
return 0;
}
EKRAN:
Unesi br.redova i kolona matrice nxn = 3
polje[1,1]=12
polje[1,2]=378
polje[1,3]=4
polje[2,1]=98
polje[2,2]=11
polje[2,3]=2
polje[3,1]=61
polje[3,2]=9
polje[3,3]=20
Upisana matrica je :
12 378 4
98 111 2
61 9 20
Suma kolone [1] = 171
Suma kolone [2] = 498
Suma kolone [3] = 26
Suma reda [1] = 394
Suma reda [2] = 211
Suma reda [1] = 90
Primjer 11:
Napisati program koji ispisuje pravugaonu matricu MxN, proizvod clanova kolone i sumu elemenata reda upisane matrice .
RJEŠENJE:
//Ispisuje matricu,proizvod cl.kolone i sumu cl.reda
#include <iostream>
#define brr 10
#define brk 10
using namespace std;
int main ()
{
int matrica[brr][brk], pk[brk], sr[brr];
int n,m;
cout << " Unesi br.redova : ";
cin >> n;
cout << " Unesi br.kolona : ";
cin>>m;
cout<<endl;
cout<<"Unesi clanove :"<<endl;
for (int i=1; i<=brr; i++)
for (int j=1; i<=brk; i++)
{
pk[i]=1;
sr[i]=0;
}
for (int i=1; i<=n; i++)
for (int j=1; j<=m; j++)
{
cout <<"polje["<<i<<","<<j<<"]=";
cin >> matrica[i][j];
pk[j]*=matrica[i][j];
sr[i]+=matrica[i][j];
}
cout<<endl;
cout<<" Upisana matrica je : ";
for(int i=1; i<=n; i++)
{
cout << endl;
for (int j=1; j<=m; j++)
cout <<matrica[i][j]<<" \t ";
}
cout<<endl;
for (int i=1; i<=m; i++)
cout<<" Proizvod kolone ["<<i<<"] = "<<pk[i]<<endl;
cout<<endl;
for (int i=1; i<=n; i++)
cout<<"Suma reda ["<<i<<"] = "<<sr[i]<<endl;
return 0;
}
EKRAN:
Unesi br.redova m = 3
Unesi br.kolopna n = 4
polje[1,1]=12
polje[1,2]=378
polje[1,3]=4
polje[1,4]=214
polje[2,1]=98
polje[2,2]=11
polje[2,3]=2
polje[2,4]=43
polje[3,1]=61
polje[3,2]=9
polje[3,3]=20
polje[3,4]=742
Upisana matrica je :
12 378 4 214
98 111 2 43
61 9 20 742
Proizvod kolone [1] = 71736
Proizvod kolone [2] = 37422
Proizvod kolone [3] = 16 0
Proizvod kolone [4] = 6827884
Suma reda [1] = 608
Suma reda [2] = 244
Suma reda [1] = 832
Primjer 12:
Napisati program koji ispisuje pravugaonu matricu MxN,proizvod elemenata reda i proizvod clanova kolone.
RJEŠENJE:
//Ispisuje pravougaonu matricu,proizvod cl.kolone i proizvod cl.reda
#include <iostream>
#define brr 10
#define brk 10
using namespace std;
int main ()
{
int matrica[brr][brk], pk[brk], pr[brr];
int n,m;
cout << " Unesi br.redova : ";
cin >> n;
cout << " Unesi br.kolona : ";
cin>>m;
cout<<endl;
cout<<"Unesi clanove :"<<endl;
for (int i=1; i<=brr; i++)
for (int j=1; i<=brk; i++)
{
pk[i]=1;
pr[i]=1;
}
for (int i=1; i<=n; i++)
for (int j=1; j<=m; j++)
{
cout <<"polje["<<i<<","<<j<<"]=";
cin >> matrica[i][j];
pk[j]*=matrica[i][j];
pr[i]*=matrica[i][j];
}
cout<<endl;
cout<<" Upisana matrica je : ";
for(int i=1; i<=n; i++)
{
cout << endl;
for (int j=1; j<=m; j++)
cout <<matrica[i][j]<<" \t ";
}
cout<<endl;
for (int i=1; i<=m; i++)
cout<<" Proizvod kolone ["<<i<<"] = "<<pk[i]<<endl;
cout<<endl;
for (int i=1; i<=n; i++)
cout<<"Proizvod reda ["<<i<<"] = "<<pr[i]<<endl;
return 0;
}
EKRAN:
Unesi br.redova m = 2
Unesi br.kolopna n = 3
polje[1,1]=2
polje[1,2]=4
polje[1,3]=11
polje[2,1]=3
polje[2,2]=6
polje[2,3]=22
Upisana matrica je :
2 4 11
3 6 22
Proizvod kolone [1] = 6
Proizvod kolone [2] = 24
Proizvod kolone [3] = 232
Proizvod reda [1] = 88
Proizvod reda [2] = 396
Primjer 13:
Napisati program koji ispisuje proizvod članova u koloni ,sumu(zbir)članova u redu upisane matrice a zatim matricu ciji su clanovi pomnozeni sa 2.
RJEŠENJE:
#include <iostream>
#define brr 10
#define brk 10
using namespace std;
int main ()
{
int matrica[brr][brk], sk[brk], pr[brr];
int n,m;
cout << " Unesi br.redova : ";
cin >> n;
cout << " Unesi br.kolona : ";
cin>>m;
cout<<endl;
cout<<"Unesi clanove :"<<endl;
for (int i=1; i<=brr; i++)
for (int j=1; i<=brk; i++)
{
sk[i]=0;
pr[i]=1;
}
for (int i=1; i<=n; i++)
for (int j=1; j<=m; j++)
{
cout <<"polje["<<i<<","<<j<<"]=";
cin >> matrica[i][j];
sk[j]+=matrica[i][j];
pr[i]*=matrica[i][j];
}
cout<<endl;
cout<<" Upisana matrica je : ";
for(int i=1; i<=n; i++)
{
cout << endl;
for (int j=1; j<=m; j++)
cout <<matrica[i][j]<<" \t ";
}
cout<<endl;
for (int i=1; i<=m; i++)
cout<<" Suma kolone ["<<i<<"] = "<<sk[i]<<endl;
cout<<endl;
for (int i=1; i<=n; i++)
cout<<"Proicvod reda ["<<i<<"] = "<<pr[i]<<endl;
cout<<endl;
cout<<" Matrica sa clanovima pomnozeni sa 2 je : ";
for(int i=1; i<=n; i++)
{
cout << endl;
for (int j=1; j<=m; j++)
cout <<matrica[i][j]*2<<" \t ";
}
return 0;
}
EKRAN:
Unesi br.redova m = 3
Unesi br.kolopna n = 4
polje[1,1]=2
polje[1,2]=1
polje[1,3]=3
polje[1,4]=23
polje[2,1]=11
polje[2,2]=6
polje[2,3]=5
polje[2,4]=33
polje[3,1]=100
polje[3,2]=20
polje[3,3]=15
polje[3,4]=9
Upisana matrica je :
2 1 3 23
11 6 5 33
1 00 20 15 9
Suma kolone [1] = 113
Suma kolone [2] = 27
Suma kolone [3] = 23
Suma kolone [4] = 65
Proizvod reda [1] = 138
Proizvod reda [2] = 10890
Proizvod reda [1] = 270000
Matrica sa clanovima pomnozeni sa 2 je :
4 2 6 46
22 12 10 66
2 00 40 30 18
Primjer 14:
Napisati program za unos matrice A , ispis zbira(sume) clanova i ispis sume(zbira) elementa koji su djeljivi sa 2.
RJEŠENJE:
//suma clanova djeljivih sa 2
#include <iostream>
#define dim 10
using namespace std;
int main()
{
int n,i,a[dim][dim],zbir;
cout << " Upisi br.redova i kolona matrice nxn = ";
cin >> n;
cout<<endl;
cout<<"Unesi clanove :"<<endl;
for (int i=1;i<=n;i++)
for (int j=1;j<=n; j++)
{
cout <<" a["<<i<<","<<j<<"]=";
cin >>a[i][j];
}
zbir=0;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(a[i][j]%2==0)
zbir=zbir+a[i][j];
}
}
cout<<endl;
cout<<" Upisana matrica je : "<<endl;
for(int i=1; i<=n; i++)
{
for (int j=1; j<=n; j++)
cout <<a[i][j]<<" \t ";
cout<<endl;
}
cout<<"Suma clanova djeljivih sa 2 je : "<<zbir<<endl;
return 0;
}
EKRAN:
Unesi br.redova i kolona matrice nxn = 3
Unesi clanove :
a[1,1]=1
a[1,2]=2
a[1,3]=3
a[2,1]=4
a[2,2]=5
a[2,3]=6
a[3,1]=7
a[3,2]=8
a[3,3]=10
Upisana matrica je :
1 2 3
4 5 6
7 8 10
Suma clanova djeljivih sa 2 je : 30
Primjer 15:
Napisati program za unos matrice A , ispis broja clanova koji su djeljivi sa 3 i broj clanova djeljivih sa 2 .
RJEŠENJE:
//Ispisuje matricu,broj clanova djeljivih sa 3 i broj clanova djeljivih sa 2
#include <iostream>
#define max 10
using namespace std;
int main ()
{
int matrica[max][max];
int n,s,s1;
cout << " Unesi br.redova i kolona matrice nxn = ";
cin >> n;
for (int i=1; i<=max; i++)
{
s=0;
s1=0;
}
for (int i=1; i<=n; i++)
for (int j=1; j<=n; j++)
{
cout <<"polje["<<i<<","<<j<<"]=";
cin >> matrica[i][j];
s+=matrica[i][j]%3==0;
s1+=matrica[i][j]%2==0;
}
cout<<endl;
cout<<" Upisana matrica je : "<<endl;
for(int i=1; i<=n; i++)
{
cout << endl;
for (int j=1; j<=n; j++)
cout <<matrica[i][j]<<" \t ";
}
cout<<endl;
cout<<endl;
cout<<"Broj clanova djeljivih sa 3 je : "<<s<<endl;
cout<<" ,a djeljivi sa 2 je : "<<s1<<" "<<endl;
return 0;
}
EKRAN:
Unesi br.redova i kolona matrice nxn = 3
a[1,1]=1
a[1,2]=2
a[1,3]=3
a[2,1]=4
a[2,2]=5
a[2,3]=6
a[3,1]=7
a[3,2]=8
a[3,3]=9
Upisana matrica je :
1 2 3
4 5 6
7 8 9
Broj clanova djeljivih sa 3 je : 3
, a djeljivih sa 2 je : 4
Primjer 16:
Napisati program za unos matrice A , ispis clanova djeljivih sa „p“ i njihovu sumu.
RJEŠENJE:
//Ispis clanova djeljivih sa "p" i njihov zbir(suma)
#include <iostream>
#define dim 10
using namespace std;
int main()
{
int n,i,a[dim][dim],zbir,p;
cout << " Upisi br.redova i kolona matrice nxn = ";
cin >> n;
cout<<endl;
cout<<"Unesi clanove :"<<endl;
for (int i=1;i<=n;i++)
for (int j=1;j<=n; j++)
{
cout <<" a["<<i<<","<<j<<"]=";
cin >>a[i][j];
}
cout<<"Upisi djelilac P = ";
cin>>p;
cout<<endl;
zbir=0;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(a[i][j]%p==0)
zbir=zbir+a[i][j];
}
}
cout<<endl;
cout<<" Upisana matrica je : "<<endl;
for(int i=1; i<=n; i++)
{
for (int j=1; j<=n; j++)
cout <<a[i][j]<<" \t ";
cout<<endl;
}
cout<<endl;
cout<<"Clanovi djeljivih sa "<<p<<" su : "<<endl;
for(int i=1; i<=n; i++)
{
for (int j=1; j<=n; j++)
if(a[i][j]%p==0)
cout <<a[i][j]<<" \t ";
cout<<endl;
}
cout<<"Suma clanova djeljivih sa "<<p<<" je : "<<zbir<<endl;
return 0;
}
EKRAN:
Upisi br.redova i kolona matrice nxn = 3
Unesi clanove :
a[1,1]=12
a[1,2]=2
a[1,3]=3
a[2,1]=4
a[2,2]=5
a[2,3]=44
a[3,1]=7
a[3,2]=200
a[3,3]=10
Upisi djelilac P = 4
Upisana matrica je :
12 2 3
4 5 44
7 200 10
Clanovi djeljivi sa 4 su :
12
4 44
200
Suma clanova djeljivih sa 4 je : 260
Primjer 17:
Napisati program za unos matrice A , ispis zbira(sume) clanova i ispis matrice B ciji su elementi uvecani za ovu sumu.
RJEŠENJE:
//Ispisuje sumu (zbir) clanova matrice A i matricu B ciji su clanovi uvecani za sumu upisanih clanova
#include <cstdlib>
#include <iostream>
using namespace std;
unsigned int m,n;
int i,j,k;
float A['m']['n'];
int main()
{
cout<<"Unesite broj redova m = "; cin>>m;
cout<<"Unesite broj kolona n = "; cin>>n;
cout<<"Upisi clanove matrice A :"<<endl;
for(i=0; i<m; i++){
for(j=0; j<n; j++){
cout<<" A["<<i<<"]["<<j<<"] = "; cin>>A[i][j];
}}
cout<<endl;
cout<<"Upisana je matrica A:"<<endl;
// Ispis elemenata matrice
for(i=0; i<m; i++){
for(j=0; j<n; j++){
cout<<A[i][j]<<"\t";
}
cout<<"\n";
}
// Suma elemenata matrice
float suma=0;
for(i=0; i<m; i++){
for(j=0; j<n; j++){
suma+=A[i][j]; // suma=suma+A[i][j];
}}
cout<<endl;
cout<<"Suma svih elemenata matrice A je "<<suma<<".\n";
cout<<endl;
cout<<" Matrica B,elementi uvecani za..."<<suma<<endl;
// Ispis elemenata matrice
for(i=0; i<m; i++){
for(j=0; j<n; j++){
cout<<A[i][j]+int(suma)<<"\t";
}
cout<<"\n";
}
system("PAUSE");
return 0;
}
EKRAN:
Unesite broj redova m = 3
Unesite broj kolona n = 4
Upisi clanove matrice A :
a[0,0]=9
a[0,1]=8
a[0,2]=7
a[0,3]=6
a[1,0]=5
a[1,1]=4
a[1,2]=3
a[1,3]=2
a[2,0]=1
a[2,1]=23
a[2,2]=4
a[2,3]=5
Upisana je matrica A :
9 8 7 6
5 4 3 2
1 23 4 5
Suma svih elemenata matrice A je 77.
Matrica B,elementi uvecani za...77
86 85 84 83
82 81 80 79
78 100 81 82
Primjer 18:
Napisati program za unos matrice A , ispis max.clanova po redovima i ispis matrice B ciji su elementi sortirani po redovima od min...max.
RJEŠENJE:
#include <cstdlib>
#include <iostream>
using namespace std;
unsigned int m,n;
int i,j,k;
float A['m']['n'],R['m'],K['n'];
int main()
{
cout<<"Unesite broj redova m = "; cin>>m;
cout<<"Unesite broj kolona n = "; cin>>n;
cout<<"Unesi elemente matrice A :"<<endl;
for(i=0; i<m; i++){
for(j=0; j<n; j++){
cout<<" A["<<i<<"]["<<j<<"] = "; cin>>A[i][j];
}}
cout<<endl;
cout<<"Upisana je matrica A:"<<endl;
// Ispis elemenata matrice
for(i=0; i<m; i++){
for(j=0; j<n; j++){
cout<<A[i][j]<<"\t";
}
cout<<"\n";
}
// Trazenje najveceg elementa matrice A
unsigned int i_max=0,j_max=0; //pretpostavljamo da je prvi elemnt najveci
for(i=0; i<m; i++){
for(j=0; j<n; j++){
if(A[i][j]>A[i_max][j_max]){
i_max=i;
j_max=j;
}}}
// Naci najveci element svakog reda matrice i pridruziti ga odgovarajucem
// elementu niza R['m']
for(i=0; i<m; i++){
j_max=0;
for(j=1; j<n; j++){
if(A[i][j]>A[i][j_max]) j_max=j;
}
R[i]=A[i][j_max];
}
cout<<"Najveci elementi redova matrice A su:\n";
for(i=0; i<m; i++){cout<<R[i]<<" ";}
cout<<"\n";
// Sortirati matricu A['m']['n'] po redovima od najmanjeg do najveceg elemnta
for(i=0; i<m; i++){
for(j=0; j<n-1; j++){
for(k=j+1; k<n; k++){
if(A[i][k]<A[i][j]){
float pom=A[i][j];
A[i][j]=A[i][k];
A[i][k]=pom;}
}}}
// Ispis elemenata matrice
cout<<"\nMatrica A sortirana po redovima je:\n";
for(i=0; i<m; i++){
for(j=0; j<n; j++){
cout<<A[i][j]<<"\t";
}
cout<<"\n";
}
system("PAUSE");
return 0;
}
EKRAN:
Unesite broj redova m = 3
Unesite broj kolona n = 4
Uneisi clanove matrice A :
a[0,0]=12
a[0,1]=54
a[0,2]=3
a[0,3]=2
a[1,0]=7
a[1,1]=89
a[1,2]=123
a[1,3]=4
a[2,0]=6
a[2,1]=337
a[2,2]=100
a[2,3]=32
Upisana je matrica A :
12 54 3 2
7 89 123 4
6 337 100 32
Najveci elementi redova matrice A su :
54 123 337
Matrica A sortirana po redovima je :
2 3 12 54
4 7 89 123
6 32 100 337
Primjer 19:
Napisati program za unos matrice A i ispis clanova glavne dijagonale.
RJEŠENJE:
//Ispisuje elemente glavne dijagonale matrice A
#include <cstdlib>
#include <iostream>
using namespace std;
unsigned int m,n;
int i,j,k;
float A['m']['n'];
int main()
{
cout<<"Unesite broj redova i kolona m = "; cin>>m;
cout<<"Upisi clanove matrice A :"<<endl;
for(i=0; i<m; i++){
for(j=0; j<m; j++){
cout<<" A["<<i<<"]["<<j<<"] = "; cin>>A[i][j];
}}
cout<<endl;
cout<<"Upisana je matrica A:"<<endl;
// Ispis elemenata matrice
for(i=0; i<m; i++){
for(j=0; j<m; j++){
cout<<A[i][j]<<"\t";
}
cout<<"\n";
}
cout<<endl;
// Ispis elemenata glavne dijagonale matrice
cout<<"Elementi glavne dijagonale su:\n";
for(i=0; i<m; i++){cout<<A[i][i]<<" ";}
cout<<endl;
return 0;
}
EKRAN:
Unesite broj redova i kolona m = 3
Upisi clanove matrice A :
a[0,0]=12
a[0,1]=54
a[0,2]=3
a[1,0]=7
a[1,1]=89
a[1,2]=123
a[2,0]=6
a[2,1]=337
a[2,2]=100
Upisana je matrica A :
12 54 3
7 89 123
6 337 100
Elementi glavne dijagonale su :
12 89 100
Primjer 20:
Napisati program za unos matrice A i ispis clanova glavne i sporedne dijagonale.
RJEŠENJE:
//Ispisuje elemente glavne i sporedne dijagonale matrice A
#include <cstdlib>
#include <iostream>
using namespace std;
unsigned int m,n;
int i,j,k;
float A['m']['n'];
int main()
{
cout<<"Unesite broj redova i kolona m = "; cin>>m;
cout<<"Upisi clanove matrice A :"<<endl;
for(i=0; i<m; i++){
for(j=0; j<m; j++){
cout<<" A["<<i<<"]["<<j<<"] = "; cin>>A[i][j];
}}
cout<<endl;
cout<<"Upisana je matrica A:"<<endl;
// Ispis elemenata matrice
for(i=0; i<m; i++){
for(j=0; j<m; j++){
cout<<A[i][j]<<"\t";
}
cout<<"\n";
}
cout<<endl;
// Ispis elemenata glavne i sporedne dijagonale matrice
cout<<"Elementi glavne dijagonale su:\n";
if(m<n) k=m; //broj elemenata glavne odn. sporedne dijagonale
else k=m; //odgovara broju manje dimenzije matrice
for(i=0; i<k; i++){cout<<A[i][i]<<" ";}
cout<<endl;
cout<<"\nElementi sporedne dijagonale su:\n";
for(i=0; i<k; i++){cout<<A[i][m-1-i]<<" ";}
cout<<endl;
return 0;
}
EKRAN:
Unesite broj redova i kolona m = 3
Upisi clanove matrice A :
A[0,0]=1
A[0,1]=2
A[0,2]=3
A[1,0]=4
A[1,1]=5
A[1,2]=6
A[2,0]=7
A[2,1]=8
A[2,2]=9
Upisana je matrica A :
1 2 3
4 5 6
7 8 9
Elementi glavne dijagonale su :
1 5 9
Elementi sporedne dijagonale su :
3 5 7
Primjer 21:
Napisati program za unos matrice A i ispis clanova glavne i njihovu sumu(zbir).
RJEŠENJE:
//Ispisuje clanove glavne dijagonali i njihov zbir
#include <iostream>
#define dim 10
using namespace std;
int main()
{
int n,i,a[dim][dim],suma;
cout << " Upisi br.redova i kolona matrice nxn = ";
cin >> n;
cout<<endl;
cout<<"Unesi clanove :"<<endl;
for (int i=1;i<=n;i++)
for (int j=1;j<=n; j++)
{
cout <<" a["<<i<<","<<j<<"]=";
cin >>a[i][j];
}
suma=0;
for (int i=1; i<n+1; i++)
{
suma = suma + a[i][i];
}
cout<<endl;
cout<<" Upisana matrica je : "<<endl;
for(int i=1; i<=n; i++)
{
for (int j=1; j<=n; j++)
cout <<a[i][j]<<" \t ";
cout<<endl;
}
cout<<endl;
cout<<" CL.glavne dijagonale su : "<<endl;
for(int i=1; i<=n; i++)
{
cout <<a[i][i]<<" \t ";
}
cout<<endl;
cout<<endl;
cout<<"Zbir clanova glavne dijagonale je :"<<suma<<endl;
return 0;
}
RJEŠENJE:
Unesite broj redova i kolona m = 3
Unesi clanove :
a[1,1]=12
a[1,2]=3
a[1,3]=4
a[2,1]=5
a[2,2]=6
a[2,3]=7
a[3,1]=23
a[3,2]=42
a[3,3]=100
Upisana je matrica A :
12 3 4
5 6 7
23 42 100
CL. glavne dijagonale su :
12 6 100
Zbir clanova glavne dijagonale je : 118
Primjer 22:
Napisati program za unos matrice A i ispis sume(zbira) clanova glavne dijagonale.
RJEŠENJE:
//Ispis matrice i sumu(zbir) clanova glavne dijagonale
#include <stdio.h>
#include <conio.h>
#define MAX 20
int main(){
int i,j,n,mat[MAX][MAX];
float sum=0;
printf("\nUnesi velicinu cjelobrojne kvadratne matrice nxn: ");
scanf("%d",&n);
printf("\nUnesi elemente matrice:\n\n");
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf("\tM[%d][%d]= ",i+1,j+1);
scanf("%d",&mat[i][j]);
if(i==j) sum += mat[i][j];
}
}
printf("\nUnesena je matrica:\n\n");
for(i=0;i<n;i++){
printf("\n");
for(j=0;j<n;j++){
printf("\t%d",mat[i][j]);
}
}
printf("\n\nSuma (zbir) clanova glavne dijagonale je %f", sum);
getch();
return 0;
}
EKRAN:
Unesi br.redova i kolona matrice nxn = 3
Unesi clanove :
a[1,1]=12
a[1,2]=2
a[1,3]=3
a[2,1]=4
a[2,2]=5
a[2,3]=44
a[3,1]=7
a[3,2]=200
a[3,3]=10
Upisana matrica je :
12 2 3
4 5 44
7 200 10
Suma clanova glavne dijagonale je : 27