1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
#include <iostream>
#include <cmath>
using namespace std;
void lecture(int X[][10],int a)
{
int i,j;
for(i=0;i<a;i++)
for(j=0;j<a;j++)
cin>>X[i][j];
}
void produit(int X[][10],int Y[][10],int Z[][10],int n)
{ int i,j,k;
for(i=0;i<n;i++)
for(k=0;k<n;k++)
{ Z[i][k]=0;
for(j=0;j<n;j++)
Z[i][k]= Z[i][k]+X[i][j]*Y[j][k] ;
}
}
void afficher(int X[][10],int a)
{int i,j;
for(i=0;i<a;i++)
{
for(j=0;j<a;j++)
cout<<X[i][j]<<" ";
cout<<endl;
}
}
int main()
{ int n,i,j,k,L;
// int *A,*B,*C;
int A[10][10],B[10][10],C[10][10],Ck[10][10],CB[10][10];
cout<<"donner la taille des matrices"<<endl;
cin>>n;
//A=new int[n][nca];
//B=new int[nlb][ncb];
//C=new int [n][ncb];
cout<<"lecture des elements de la matrice A ligne par ligne"<<endl;
lecture( A,n);
cout<<"lecture des elements de la matrice B ligne par ligne"<<endl;
lecture( B,n);
produit(A,B,C,n);
cout<<"affichage des elements de la matrice A ligne par ligne"<<endl;
afficher( A,n);
cout<<"affichage des elements de la matrice B ligne par ligne"<<endl;
afficher( B,n);
cout<<"affichage des elements de la matrice C ligne par ligne"<<endl;
afficher( C,n);
cout<<"donner la valeur de k pour caculer C^k"<<endl;
cin>>k;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
Ck[i][j]=C[i][j];
for(L=1;L<k;L++)
{produit(C,Ck,CB,n);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
Ck[i][j]=CB[i][j];
}
afficher(Ck,n);
system("pause");
return 0;
} |
Partager