wendtoin1988
Messages postés2Date d'inscriptionjeudi 8 août 2013StatutMembreDernière intervention 9 août 2013
-
Modifié par Twinuts le 14/08/2013 à 08:49
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023
-
14 août 2013 à 10:32
Bonjour,
je me nomme Roland,je viens par ce mail vous soumettre mon programme et vous demander une correction selon le sujet.
SUJET :
Implémenter un programme de manipulaion de matrices.le programme doit proposer
un menu permettant de faire:
- saisir 2 matrices A et B (n lignes, p colonnes) et une matrice carrée C d'ordre n
- Transposer la matrice B
- Addition de deux matrices
- Produit de deux matrices
- Calculer le Déterminant de la matrice carrée C
Programme proposé et non fonctionnelle :
#include <stdio.h>
#include <stdlib.h>
#define n 5
#define p 6
void affichemenu ();
void saisiematrices (int A[][],int B[][],int C[][],int n,int p);
void affichematrices (int A[][],int B[][],int C[][],int n,int p);
void transpositionmatriceB (int B[][],int T[][],int n,int p);
void additionmatrice (int A[][],int B[][],int S[][],int n,int p);
void produitmatrice (int A[][],int B[][],int M[][],int n,int p);
//void determinantmatricecarreC;//
int main()
{
int A[n][p];
int B[n][p];
int C[n][n];
int T[n][p];
int S[n][p];
int M[n][p];
int n,p;
int i,j,k;
saisiematrices (A,B,C,n,p);
affichematrices(A,B,C,n,p);
transpositionmatriceB (B,T,n,p);
additionmatrice (A,B,S,n,p);
produitmatrice (A,B,M,n,p);
printf("Nombre de lignes (n.5) : ");
scanf("%d", &n );
printf("Nombre de colonnes (p.6) : ");
scanf("%d", &p );
system("PAUSE");
return 0;
}
/* Saisie des données */
void saisiematrices (int A[][],int B[][],int C[][],int n,int p)
{
int i,j,n,p;
printf("Nombre de lignes (n.5) : ");
scanf("%d", &n );
printf("Nombre de colonnes (n.5) : ");
scanf("%d", &p );
printf("*** Matrice A ***\n");
for (i=0; i<n; i++)
for (j=0; j<p; j++)
{
printf("Element[%d][%d] : ",i,j);
scanf("%d", &A[i][j]);
}
printf("*** Matrice B ***\n");
for (i=0; i<n; i++)
for (j=0; j<p; j++)
{
printf("Element[%d][%d] : ",i,j);
scanf("%d", &B[i][j]);
}
printf("*** Matrice Carre C ***\n");
for (i=0; i<n; i++)
for (j=0; j<n; j++)
{
printf("Element[%d][%d] : ",i,j);
scanf("%d", &C[i][j]);
}
}
//*Affichage des matrices*//
void affichematrices (int A[][],int B[][],int C[][],int n,int p)
{
int i,j,n,p;
printf("La matrice A :\n");
for (i=0; i<n; i++)
{
for (j=0; j<p; j++)
printf("%7d", A[i][j]);
printf("\n");
}
printf("La matrice B :\n");
for (i=0; i<n; i++)
{
for (j=0; j<p; j++)
printf("%7d", B[i][j]);
printf("\n");
}
printf("La matrice Carre C :\n");
for (i=0; i<n; i++)
{
for (j=0; j<n; j++)
printf("%7d", A[i][j]);
printf("\n");
}
}
//*** transposition de la matrice B***//
void transposee(int B[][], int T[][], int n,int p)
{
int i,j;
for (i=0; i<n; i++)
for (j=0; j<p; j++)
{
T[j][i]=B[i][j];
}
return T[j][i];
}
/* Edition du résultat */
printf("La matrice transposée de B :\n");
for (i=0; i<n; i++)
{
for (j=0; j<p; j++)
printf("%7d", T[i][j]);
printf("\n");
}
//*** somme de deux matrice ***//
void somme(int A[][], int B[][],int S[][], int n,int p)
{
int i,j;
for (i=0; i<n; i++)
for (j=0; j<p; j++)
{
S[i][j] =A[i][j] + B[i][j];
}
return S[j][i];
}
/* Edition du résultat */
printf("La matrice somme de A et B :\n");
for (i=0; i<n; i++)
{
for (j=0; j<p; j++)
printf("%7d", S[i][j]);
printf("\n");
}
//*** Produit de deux matrice ***//
void produit(int A[][], int B[][],int M[][], int n,int p)
{
int i,j,k;
for (i=0; i<n; i++)
for (j=0; j<n; j++)
{
M[i][j]=0;
for (k=0; k<n; k++)
M[i][j] =M[i][j] + A[i][k] * B[k][j];
}
return M[i][j];
}
/* Edition du résultat */
printf("La matrice produite de A et B :\n");
for (i=0; i<n; i++)
{
for (j=0; j<p; j++)
printf("%7d", M[i][j]);
printf("\n");
}
//***Calcule du Determinant de la Matrice Carree C ***//
//fonction affichage Menu//
void affichemenu ()
{
printf("********MENU*********\n");
printf("1- saisie et affichage des matrices \n");
printf("2- Transposition matrice B \n");
printf("3- Addition matrice A et B \n");
printf("4- Produit matrice A et B \n");
printf("5- Determinant de la matrice carree C \n");
printf("quitter\n");
printf("Entrer votre choix\n");
scanf("votre choix %d");
}
case '1':
void saisiematrices (int A[][],int B[][],int C[][],int n,int p),void affichematrices (int A[][],int B[][],int C[][],int n,int p);
break;
case '2':
void transpositionmatriceB (int B[][],int T[][],int n,int p);
break;
case '3':
void additionmatrice (int A[][],int B[][],int S[][],int n,int p);
break;
case '4':
void produitmatrice (int A[][],int B[][],int M[][],int n,int p);
break;
un programme en C qui se compile sur Dev-C++; donnant le choix entre les differents option du menu : saisie et affichage de matrice; transposition de matrice; addition de deux matrices; produit de deux matrices; determinant de la matrice carré C d'ordre n.
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023123 Modifié par cptpingu le 8/08/2013 à 16:35
Bonjour.
Afin que l'on réponde à ton message, il te faut éditer ton message (double-clique dessus) pour modifier les choses suivantes:
- Met ton code dans des balises de code, et indente le !
- Précise ce qui te bloque exactement.
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 14 août 2013 à 08:51
Hello,
Je t'ai ajouté les balises codes + une pseudo indentation, mais comme le code ne ressemble pas vraiment à grand chose(trop de codes hors fonctions) ça ne donne rien de bien jojo...
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023123 14 août 2013 à 10:32
C'est gentil, mais c'est à lui de faire la démarche...
Pour moi, il n'a pas fait l'effort de présenter son code, je ne ferais donc pas l'effort de lui répondre.
Je clos le sujet.