/*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
int **b=new int*[rb];
for(i=0;i
int **c=new int*[rc];
for(i=0;i
//unos matrice A i B:
cout<<"Unesite matricu A:\n";
for(i=0;i
cout<<"Unesite matricu B:\n";
for(i=0;i
//mnozenje matrica A i B:
for(i=0;i
c[i][j]=0;
for(k=0;k
}
//ispis:
cout<<"\nMatrica A:\n";
for(i=0;i
for(j=0;j
cout<<"\nMatrica B:\n";
for(i=0;i
for(j=0;j
cout << "\nMatrica C=A*B:\n";
for(i=0;i
for(j=0;j
//dealokacija:
for(i=0;i
delete [] a;
for(i=0;i
delete [] b;
for(i=0;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.