besoin d aide pour les opérations sur les matrices
mbasse
Messages postés2Date d'inscriptionlundi 13 septembre 2010StatutMembreDernière intervention19 septembre 2010
-
14 sept. 2010 à 16:35
mbasse
Messages postés2Date d'inscriptionlundi 13 septembre 2010StatutMembreDernière intervention19 septembre 2010
-
19 sept. 2010 à 13:35
bonjour voici mon programme sur les addition la soustraction la multiplication et le recherche de déterminant sur les matrices. Tjrs lors que je compile le programme se plante lors qu'on fait la saisie je ne vois pas d ou vient l erreur.
Je doit aussi faire l'inverse mais je n y arrive pas merci de m aider
//prototypes
void Somme(int x[nli][ncol], int y[nli][ncol], int n);
void Soustraction(int x[nli][ncol], int y[nli][ncol], int n);
int Determinant( int x[nli][ncol], int n );
void affiche_matrice(int mat[nli][ncol], int n);
void saisie(int mat[nli][ncol], int n);
// Procédure affichage
void affiche_matrice(int mat[nli][ncol], int n)
{
int i, j;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("\t%d",mat[i][j]);
}
printf("\n");
}
printf("\n");
}
// procédure saisie
void saisie(int mat[nli][ncol], int n)
{
int i,j;
printf("Saisie Matrice\n");
for(i=0; i<n; i++)
{
printf("saisie de la ligne n°%d \n", i+1);
for(j=0; j<n; j++)
{
printf("mat[%d][%d] = ", i+1, j+1);
scanf("%d", &((mat)[i][j]));
}
}
}
//procédure somme
void Somme(int x[nli][ncol], int y[nli][ncol], int n)
{
int i, j;
int z[nli][ncol]={0,0,0,0,0,0,0,0,0};
saisie(x[nli][ncol],n);
affiche_matrice(x[nli][ncol],n);
saisie(y[nli][ncol],n);
affiche_matrice(y[nli][ncol],n);
//procédure soustraction
void Soustraction(int x[nli][ncol], int y[nli][ncol], int n)
{
int i,j;
int z[nli][ncol]={0,0,0,0,0,0,0,0,0};
saisie(x[nli][ncol],n);
affiche_matrice(x[nli][ncol],n);
saisie(y[nli][ncol],n);
affiche_matrice(y[nli][ncol],n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
z[i][j]=x[i][j]-y[i][j];
}
}
affiche_matrice(z,n);
}
//procédure multiplication
void Multiplication(int x[nli][ncol], int y[nli][ncol], int n)
{
int i,j,k;
int z[nli][ncol];
saisie(x[nli][ncol],n);
affiche_matrice(x[nli][ncol],n);
saisie(y[nli][ncol],n);
affiche_matrice(y[nli][ncol],n);
/*procédure déterminant d'une matrice elle supprime dans la matrice x les lignes nli
et les colonnse ncol puis enregistre les resultats dans la matrice y*/
/*void Determinant( int x[nli][ncol],y[nli][ncol], int n )
{
int i,j,d,e;
//programme principal
int main()
{
int choix, fin_prog,n;
int x[nli][ncol],y[nli][ncol];
fin_prog = 0;
while(!fin_prog)
{
system("cls");
printf("\n******* Opération sur les matrices *******\n");
// Choix de methode de resolution
printf("\n******* MENU PRINCIPAL *******\n\n");
printf("1. Somme de deux matrices \n");
printf("2. Soustraction de deux matrices \n");
printf("3. Multiplication de deux matrices \n");
printf("4. Déterminant d'une matrice \n");
printf("5. Inversion d'une matrice\n");
printf("6. Quitter le programme\n\n");
printf("votre choix: ");
scanf("%d", &choix);
switch(choix)
{
case 1: Somme(x[nli][ncol],y[nli][ncol],n); break;
case 2: Soustraction(x[nli][ncol],y[nli][ncol],n); break;
case 3: Multiplication(x[nli][ncol],y[nli][ncol],n); break;
/*case 4: Déterminant(); break;
case 5: Inversion(); break;
*/ case 6: fin_prog = 1; break;
default: printf("votre choix n'est pas valide.\n");
system("pause");
}
}
return 0;
}
A voir également:
besoin d aide pour les opérations sur les matrices