Pregled posta

Adresa bloga: https://blog.dnevnik.hr/prirodaa

Marketing

matrice-mnozenje matrica

/*Napiši program za množenje matrica. Matrice A i B možemo pomnožiti samo ako
su ulančane, odnosno ako A ima onoliko stupaca koliko B ima redaka. Matrica
C=A*B ima redaka koliko A ima redaka, a stupaca koliko B ima stupaca. Ako je A
tipa m*k i B tipa k*n, tada je matrica C tipa m*n. Broj redaka i stupaca matrica
unosi korisnik, a nakon provjere je li ih moguće pomnožiti, ispisuje se rezultat
matrica ili poruka o greški. */

#include
#include
using namespace std;

int main()
{
int ra, sa;
int rb, sb;
int rc, sc;

cout<<"Unesite broj redaka matrice A: ";
cin>>ra;
cout<<"Unesite broj stupaca matrice A: ";
cin>>sa;

cout<<"Unesite broj redaka matrice B: ";
cin>>rb;
cout<<"Unesite broj stupaca matrice B: ";
cin>>sb;

if(sa==rb)
{
rc=ra;
sc=sb;

int i,j,k;

//alokacija:
int **a=new int*[ra];
for(i=0;i a[i]=new int[sa];

int **b=new int*[rb];
for(i=0;i b[i]=new int[sb];

int **c=new int*[rc];
for(i=0;i c[i]=new int[sc];

//unos matrice A i B:
cout<<"Unesite matricu A:\n";
for(i=0;i for(j=0;j cin>>a[i][j];

cout<<"Unesite matricu B:\n";
for(i=0;i for(j=0;j cin>>b[i][j];

//mnozenje matrica A i B:
for(i=0;i for(j=0;j {
c[i][j]=0;
for(k=0;k c[i][j]+=a[i][k]*b[k][j];
}

//ispis:
cout<<"\nMatrica A:\n";
for(i=0;i {
for(j=0;j cout< cout< }

cout<<"\nMatrica B:\n";
for(i=0;i {
for(j=0;j cout< cout< }

cout << "\nMatrica C=A*B:\n";
for(i=0;i {
for(j=0;j cout< cout< }

//dealokacija:
for(i=0;i delete [] a[i];
delete [] a;

for(i=0;i delete [] b[i];
delete [] b;

for(i=0;i delete [] c[i];
delete [] c;
}
else
cout<<"\nMatrice A i B nije moguce pomnoziti.";

cin.sync();
cin.get();
return 0;
}


Post je objavljen 24.04.2013. u 01:59 sati.