mino1001
Messages postés12Date d'inscriptionmercredi 17 janvier 2007StatutMembreDernière intervention17 avril 2007
-
3 mars 2007 à 09:54
goast_tu
Messages postés212Date d'inscriptiondimanche 3 avril 2005StatutMembreDernière intervention28 mai 2011
-
3 mars 2007 à 13:22
bonjour tout le monde svp aidez moi je n'arrive pas a comprendre pq mon prog ne marche pas apres validation de la compilation?
j'ai crée ce prog pour la resolution de gauss sans pivot :
le prog é le suivant :
#include<stdio.h>
#include <stdlib.h>
main()
{
int i,j,k;
float A[5][5],a[5],mat[5][6],s[5],som;
for (i=1;i<5;i++)
{
for (j=1;j<5;j++)
{
printf(" A[%d][%d]=",i,j);
scanf("%f",&A[i][j]);
}
}
for (i=1;i<5;i++)
{ printf("a[%d]=",i);
scanf("%f",&a[i]);
}
for (i=1;i<5;i++)
{
{ for (j=1;j<5;j++)
printf(" %f ",A[i][j]);
}
printf("\n");
}
for (i=1;i<5;i++)
printf("%f \n",a[i]);
for(i=1;i<5;i++)
for (j=1;j<5;j++)
mat[i][j]=A[i][j];
for (i=k+1;i<5;i++)
for (j>5;j=1;j--)
mat[i][j]=mat[i][j]-(mat[i][k]*mat[k][j])/mat[k][k];
}
s[4]=mat[4][5]/mat[4][4];
for (k>4;k=0;k--)
{
som=0;
for (j=k+1;j<5;j++)
{
som=som+mat[k][j]*s[j];
s[k]=(mat[k][5]-som)/mat[k][k];
}
}
for (k=1;k<5;k++)
printf("la x %d = %f \n",k,s[k]);
goast_tu
Messages postés212Date d'inscriptiondimanche 3 avril 2005StatutMembreDernière intervention28 mai 20112 3 mars 2007 à 10:31
J'ai pas tres bien compris la question. Ton programme ne se compile
pas? Ou c'est le code qui est incorrecte? Si c'est la compilation alors
met le message d'erreur du compilateur. Si c'est dans le code alors la
prochaine fois choisi un titre de post plus correcte
mino1001
Messages postés12Date d'inscriptionmercredi 17 janvier 2007StatutMembreDernière intervention17 avril 2007 3 mars 2007 à 10:35
désolé je suis debutant ,voila mon program se compile mé a l'execution le programe affiche seulement la matrice et il ne fé pas le calcule des equations lineaires
goast_tu
Messages postés212Date d'inscriptiondimanche 3 avril 2005StatutMembreDernière intervention28 mai 20112 3 mars 2007 à 11:01
k=1 ou k >0 donne le meme resultat mais si tu modifi le k à
l'interieur de ton for et que tu le decremente par inattention alors tu
risque de jamais avoire k=1. Donc d'habitude on ecrit avec ">" ou
"<". Et puis de toute facon au niveau de performances ca change rien
les 2 operations sont identiques sur ce point la
mino1001
Messages postés12Date d'inscriptionmercredi 17 janvier 2007StatutMembreDernière intervention17 avril 2007 3 mars 2007 à 11:05
oui c vré,mé g fé ça car dans mon ecole ,le compilateur ne reconé pa la case 0,
é pour la matrice a et mat je ve garder la matrice mat pour pouvoir l'utiliser dans un 2eme program de pivot partiel ,
cependant g une autre kestion a vous poser: comment utiliser ce program en tant ke fonction ?
car je ve utiliser les deux prog pivot partiel é sans pivot en tant ke deux fcts d'1 meme prog.
mino1001
Messages postés12Date d'inscriptionmercredi 17 janvier 2007StatutMembreDernière intervention17 avril 2007 3 mars 2007 à 11:19
oui je c ke c com ça ,mé l'orthographe si je puis dir je ne le coné pa,
enfin g essayé mé le program ne ce compil pas,alors g defini l'algorithme dans le main ,mé c pa interessant si je ve plusieur fcts dan un mm program,voila ce ke g essayé de faire sans la fonction ,si vous savé commen fair dit le moi
#include<stdio.h>
#include <stdlib.h>
main()
{
int i,j,k;
float A[5][5],a[5],mat[5][6],s[5],som;
for (i=1;i<5;i++)
{
for (j=1;j<5;j++)
{
printf(" A[%d][%d]=",i,j);
scanf("%f",&A[i][j]);
}
}
for (i=1;i<5;i++)
{ printf("a[%d]=",i);
scanf("%f",&a[i]);
}
for (i=1;i<5;i++)
{
{ for (j=1;j<5;j++)
printf(" %f ",A[i][j]);
}
printf("\n");
}
for (i=1;i<5;i++)
printf("%f \n",a[i]);
for(i=1;i<5;i++)
for (j=1;j<5;j++)
mat[i][j]=A[i][j];
for (i=k+1;i<5;i++)
for (j=5;j>1;j--)
mat[i][j]=mat[i][j]-(mat[i][k]*mat[k][j])/mat[k][k];
}
s[4]=mat[4][5]/mat[4][4];
for (k=4;k>0;k--)
{
som=0;
for (j=k+1;j<5;j++)
{
som=som+mat[k][j]*s[j];
s[k]=(mat[k][5]-som)/mat[k][k];
}
}
for (k=1;k<5;k++)
printf("la x %d = %f \n",k,s[k]);