|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
OPERATIONS SUR LES MATRICES
Information sur la source
Description
opérations sur les matrices:
+addition
+multiplication
+puissance
un peu long... mais simple!
Source
- /* Operations sur les matrices */
- #include<stdio.h>
- main(){
- while(1)
- {
- int X;
- printf("Que voulez vous calculer??");
- printf("\n>somme : taper 1");
- printf("\n>produit : taper 2");
- printf("\n>puissance : tapez 3\n");
- printf("\n*pour quitter: tapez 0\n");
-
- scanf("%d",&X);
- int i,j,k,l;
- if(X==0) break;
- if(X<0||X>3) continue;
-
- //somme:
- if(X==1){
- int m,n;
- printf("lignes de A : ");
- scanf("%d",&m);
- printf("colones de A: ");
- scanf("%d",&n);
- printf("lignes de B : %d\n",m);
- printf("colones de B: %d\n",n);
-
- //saisie et affichage de A:
- int A[m][n];
- for(i=0;i<m;i++) for(j=0;j<n;j++){
- printf("a_(%d,%d)=",i,j);
- scanf("%d",&A[i][j]);
- }
-
-
- for(i=0;i<m;i++) for(j=0;j<n;j++){
- printf("\t%d",A[i][j]);
- if(j==n-1) printf("\n\n");
- }
-
- //saisie et affichage de B:
- int B[m][n];
- for(i=0;i<m;i++) for(j=0;j<n;j++){
- printf("b_(%d,%d)=",i,j);
- scanf("%d",&B[i][j]);
- }
-
- for(i=0;i<m;i++) for(j=0;j<n;j++){
- printf("\t%d",B[i][j]);
- if(j==n-1) printf("\n\n");
- }
-
- //calcule de la somme et affichage resultat:
- int sum[m][n];
- printf("\n\n la matrice A+B est: \n\n");
- for(i=0;i<m;i++) for(j=0;j<n;j++){
- sum[i][j]=A[i][j]+B[i][j];
- printf("\t%d",sum[i][j]);
- if(j==n-1) printf("\n\n");
- }
- continue;
- }
-
- //produit:
- if(X==2){
- int m,n,p;
- printf("lignes de A : ");
- scanf("%d",&m);
- printf("colones de A: ");
- scanf("%d",&n);
- printf("lignes de B : %d\n",n);
- printf("colones de B: ");
- scanf("%d",&p);
-
- //saisie et affichage de A:
- int A[m][n];
- for(i=0;i<m;i++) for(j=0;j<n;j++){
- printf("a_(%d,%d)=",i,j);
- scanf("%d",&A[i][j]);
- }
-
- for(i=0;i<m;i++) for(j=0;j<n;j++){
- printf("\t%d",A[i][j]);
- if(j==n-1) printf("\n\n");
- }
-
- //saisie et affichage de B:
- int B[n][p];
- for(i=0;i<n;i++) for(j=0;j<p;j++){
- printf("b_(%d,%d)=",i,j);
- scanf("%d",&B[i][j]);
- }
-
- for(i=0;i<n;i++) for(j=0;j<p;j++){
- printf("\t%d",B[i][j]);
- if(j==p-1) printf("\n\n");
- }
-
- //calcule du produit:
- int product_AB[m][p];
- int product_BA[m][p];
- for(i=0;i<m;i++) for(j=0;j<p;j++){
- product_AB[i][j]=0;
- for(k=0;k<n;k++) product_AB[i][j]=product_AB[i][j]+A[i][k]*B[k][j];
- }
- //affichage resultat:
- printf("\n\n la matrice A.B est: \n\n");
- for(i=0;i<m;i++) for(j=0;j<p;j++){
- printf("\t%d",product_AB[i][j]);
- if(j==p-1) printf("\n\n");
- }
- continue;
- }
-
- //puissance:
- if(X==3){
- int n;
- printf("taille de la matrice carree: ");
- scanf("%d",&n);
- //saisie et affichage de A:
- int A[n][n];
- for(i=0;i<n;i++) for(j=0;j<n;j++){
- printf("a_(%d,%d)=",i,j);
- scanf("%d",&A[i][j]);
- }
- for(i=0;i<n;i++) for(j=0;j<n;j++){
- printf("\t%d",A[i][j]);
- if(j==n-1) printf("\n\n");
- }
- //calcule de la puissance:
- int power[n][n];
- int help[n][n];
- int p;
-
- printf("puissance? p=");
- scanf("%d",&p);
-
- if(p==0)
- {
- for(i=0;i<n;i++)for(j=0;j<n;j++){
- if(i==j) power[i][j]=1;
- else power[i][j]=0;
- }
- }
- if(p>0)
- {
- for(i=0;i<n;i++) for(j=0;j<n;j++) help[i][j]=A[i][j];
-
- for(l=0;l<p-1;l++){
- for(i=0;i<n;i++)for(j=0;j<n;j++){
- power[i][j]=0;
- for(k=0;k<n;k++) power[i][j]=power[i][j]+A[i][k]*help[k][j];
- }
-
- for(i=0;i<n;i++) for(j=0;j<n;j++) help[i][j]=power[i][j];
- }
- }
- //affichage resultat:
- printf("\n\n la matrice A^%d est: \n\n",p);
- for(i=0;i<n;i++) for(j=0;j<n;j++){
- printf("\t%d",power[i][j]);
- if(j==n-1) printf("\n\n");
- }
- continue;
- }
- }
- getchar();
- getchar();
- }
/* Operations sur les matrices */
#include<stdio.h>
main(){
while(1)
{
int X;
printf("Que voulez vous calculer??");
printf("\n>somme : taper 1");
printf("\n>produit : taper 2");
printf("\n>puissance : tapez 3\n");
printf("\n*pour quitter: tapez 0\n");
scanf("%d",&X);
int i,j,k,l;
if(X==0) break;
if(X<0||X>3) continue;
//somme:
if(X==1){
int m,n;
printf("lignes de A : ");
scanf("%d",&m);
printf("colones de A: ");
scanf("%d",&n);
printf("lignes de B : %d\n",m);
printf("colones de B: %d\n",n);
//saisie et affichage de A:
int A[m][n];
for(i=0;i<m;i++) for(j=0;j<n;j++){
printf("a_(%d,%d)=",i,j);
scanf("%d",&A[i][j]);
}
for(i=0;i<m;i++) for(j=0;j<n;j++){
printf("\t%d",A[i][j]);
if(j==n-1) printf("\n\n");
}
//saisie et affichage de B:
int B[m][n];
for(i=0;i<m;i++) for(j=0;j<n;j++){
printf("b_(%d,%d)=",i,j);
scanf("%d",&B[i][j]);
}
for(i=0;i<m;i++) for(j=0;j<n;j++){
printf("\t%d",B[i][j]);
if(j==n-1) printf("\n\n");
}
//calcule de la somme et affichage resultat:
int sum[m][n];
printf("\n\n la matrice A+B est: \n\n");
for(i=0;i<m;i++) for(j=0;j<n;j++){
sum[i][j]=A[i][j]+B[i][j];
printf("\t%d",sum[i][j]);
if(j==n-1) printf("\n\n");
}
continue;
}
//produit:
if(X==2){
int m,n,p;
printf("lignes de A : ");
scanf("%d",&m);
printf("colones de A: ");
scanf("%d",&n);
printf("lignes de B : %d\n",n);
printf("colones de B: ");
scanf("%d",&p);
//saisie et affichage de A:
int A[m][n];
for(i=0;i<m;i++) for(j=0;j<n;j++){
printf("a_(%d,%d)=",i,j);
scanf("%d",&A[i][j]);
}
for(i=0;i<m;i++) for(j=0;j<n;j++){
printf("\t%d",A[i][j]);
if(j==n-1) printf("\n\n");
}
//saisie et affichage de B:
int B[n][p];
for(i=0;i<n;i++) for(j=0;j<p;j++){
printf("b_(%d,%d)=",i,j);
scanf("%d",&B[i][j]);
}
for(i=0;i<n;i++) for(j=0;j<p;j++){
printf("\t%d",B[i][j]);
if(j==p-1) printf("\n\n");
}
//calcule du produit:
int product_AB[m][p];
int product_BA[m][p];
for(i=0;i<m;i++) for(j=0;j<p;j++){
product_AB[i][j]=0;
for(k=0;k<n;k++) product_AB[i][j]=product_AB[i][j]+A[i][k]*B[k][j];
}
//affichage resultat:
printf("\n\n la matrice A.B est: \n\n");
for(i=0;i<m;i++) for(j=0;j<p;j++){
printf("\t%d",product_AB[i][j]);
if(j==p-1) printf("\n\n");
}
continue;
}
//puissance:
if(X==3){
int n;
printf("taille de la matrice carree: ");
scanf("%d",&n);
//saisie et affichage de A:
int A[n][n];
for(i=0;i<n;i++) for(j=0;j<n;j++){
printf("a_(%d,%d)=",i,j);
scanf("%d",&A[i][j]);
}
for(i=0;i<n;i++) for(j=0;j<n;j++){
printf("\t%d",A[i][j]);
if(j==n-1) printf("\n\n");
}
//calcule de la puissance:
int power[n][n];
int help[n][n];
int p;
printf("puissance? p=");
scanf("%d",&p);
if(p==0)
{
for(i=0;i<n;i++)for(j=0;j<n;j++){
if(i==j) power[i][j]=1;
else power[i][j]=0;
}
}
if(p>0)
{
for(i=0;i<n;i++) for(j=0;j<n;j++) help[i][j]=A[i][j];
for(l=0;l<p-1;l++){
for(i=0;i<n;i++)for(j=0;j<n;j++){
power[i][j]=0;
for(k=0;k<n;k++) power[i][j]=power[i][j]+A[i][k]*help[k][j];
}
for(i=0;i<n;i++) for(j=0;j<n;j++) help[i][j]=power[i][j];
}
}
//affichage resultat:
printf("\n\n la matrice A^%d est: \n\n",p);
for(i=0;i<n;i++) for(j=0;j<n;j++){
printf("\t%d",power[i][j]);
if(j==n-1) printf("\n\n");
}
continue;
}
}
getchar();
getchar();
}
Historique
- 06 juin 2008 13:44:34 :
- +addition
+multiplication
+puissance
- 06 juin 2008 13:46:13 :
- +addition
+multiplication
+puissance
Sources de la même categorie
Sources en rapport avec celle ci
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
rational rose et power amc... [ par lapiou ]
bonjour, ma question est celle là : g fait ma modellisation sous power amc, j'aimerais savoir s'il ya moyen de l'importer sous rational rose (g pas tr
Codyx [ par SAKingdom ]
Ce message s'adresse à tout ceux qui ont les autorisations nécessaire sur codyx pour modifier supprimer et éditer des snippets (Power User 2). Ête vou
programme d'une somme de matrice [ par awalle ]
bon soir tout le monde!ben mon problème est consiste à programmer la formule suivante en code C;.sum(i=1:n)(sum(j=1:n)Eax(xi,yj)*kx(i)*ky(j));avec:Eax
Portabilité de code Intel vers Power PC [ par zanrek ]
Bonjour, Je suis actuellement en train de développer une application en C sur un processeur Intel (P4) via Visual studio. Cette application traite no
Constructeur [ par Rom1PL ]
Bonjour.Est-ce que quelqu'un voit une erreur dans le code suivant ?A la compilation, le compilateur me donne l'erreur suivante : "Type 'Basket' may no
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|