Matrice -zadaci

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

 

Make a free website with Yola