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