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 75 76 77 78 79 80
   | # include <iostream>
# include <cmath>
using namespace std;
/*lecture de deux matrices carrées*/
void lecture (double X[][10],int a)
{
     int I,J;   
	    for (I=0;I<a;I++)
		for (J=0;J<a;J++)
	{
	cout<<"donner votre element   "<<I<<" , "<<J<<endl;
	cin>>X[I][J];
	}
}
/* affichage de la matrice*/
void affichage(double X[][10],int a)
{
     int I,J;
		cout<<"votre matrice est la suivante:"<<endl;
		for (I=0;I<a;I++)
{
		for (J=0;J<a;J++)
		cout<<X[I][J]<<"    ";
		cout<<endl;
		cout<< " FIN "<<endl;
} 	
}   
void produit(double X[][10],double Y[][10],double Z[][10],int a)
{ 
 int I,J,K;      
 //initialisation de la matrice C
		for (I=0;I<a;I++)
		for (J=0;J<a;J++)
         Z[I][J]=0;   	
// Calcul de la matrice C=A*B
		for (I=0;I<a;I++)
		for (J=0;J<a;J++)
		for (K=0;K<a;K++)
         Z[I][J]=Z[I][J]+X[I][K]*Y[K][J];	
}
void puissance (double X[][10],double CB[][10],int a)
{
     double Ck[10][10];
     int i,j,k,L;
     cout<<"donner la valeur de k pour caculer C^k"<<endl;
	 cin>>k;
    for(i=0;i<a;i++)
    for(j=0;j<a;j++)
    	Ck[i][j]=X[i][j];
 
	 for(L=1;L<k;L++)
      {produit(X,Ck,CB,a);
        for(i=0;i<a;i++)
        for(j=0;j<a;j++)
    	Ck[i][j]=CB[i][j];	
}  
}   
int main()
{
    int n;
    double A[10][10],B[10][10],C[10][10],CP[10][10];
    cout<<"donnez la taille des matrices"<<endl;
    cin>>n;
    cout<<"lecture de la matrice A"<<endl;
    lecture(A,n);
    cout<<"lecture de la matrice B"<<endl; 
    lecture(B,n);
    produit(A,B,C,n);  
    cout<<"affichage des elements de la matrice A "<<endl; 
	 affichage( A,n);
	 cout<<"affichage des elements de la matrice B "<<endl;
	 affichage( B,n);
	 cout<<"affichage des elements de la matrice C "<<endl;
     affichage(C,n);
	 puissance (C,CP,n);
	 cout<<"la matrice de puissance k "<<endl;
	 affichage(CP,n);
system("PAUSE");
return 0;
} | 
Partager