#1 Le 04/02/2007, à 13:37
- Benzo
Programme (gauss ) résolvant un système d'eq en C
Bonjour,
Je suis en train d'ecrire un programmme pour resoudre un système de 3 equations a 3 inconues par le méthode de Gauss.
Mais j'ai un problème lors de l'execution quand je stock les var dans la matrice[3][3].
Voici le prog :
#include <stdio.h>
typedef double M[3][3];
main()
{
int i;
M MC;
for(i=0;i<3;i++)
{
printf("Entrez l'equation numero1");
printf("\tInconnu numero SVP\n");
scanf("%f",MC[0][i]);
}
return 0;
}
Et j'ai une erreur de segmentation !
D'ou cela vient il ?
#2 Le 04/02/2007, à 14:03
- ePi
Re : Programme (gauss ) résolvant un système d'eq en C
scanf prend cômme argument un pointeur vers ta variable. de plus il attend des floats (%f), donc il faut déclarer ta matrice en float.
#include <stdio.h>
typedef float M[3][3];
main()
{
int i;
M MC;
for(i=0;i<3;i++)
{
printf("Entrez l'equation numero1");
printf("\tInconnu numero SVP\n");
scanf("%f",&MC[0][i]);
}
return 0;
}
#3 Le 04/02/2007, à 14:04
- tbex
Re : Programme (gauss ) résolvant un système d'eq en C
essaye ça :
#include <stdio.h>
typedef double M[3][3];
main()
{
int i;
M MC;
for(i=0;i<3;i++)
{
printf("Entrez l'equation numero1");
printf("\tInconnu numero SVP\n");
scanf("%f",&MC[0][i]);
}
return 0;
}
apparemment c'est que tu utilises mal la fonction scanf ! renseigne toi sur les valeurs qu'elle prend en paramètre.
#4 Le 04/02/2007, à 14:08
- Benzo
Re : Programme (gauss ) résolvant un système d'eq en C
Merci l'erreur etait tellement evidente que je ne la voyais pas !!
Quant tu declares une matrice double comme :
typedef double M[3][3];
Pour recevoir les valeur c'est un %f ?
#5 Le 05/02/2007, à 19:22
- tbex
Re : Programme (gauss ) résolvant un système d'eq en C
Nan il faut mettre %d