Demande de correction de programme

Fermé
wendtoin1988 Messages postés 2 Date d'inscription jeudi 8 août 2013 Statut Membre Dernière intervention 9 août 2013 - Modifié par Twinuts le 14/08/2013 à 08:49
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 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.

3 réponses

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
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.
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
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...
0
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
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.
0
Rejoignez-nous