ampholyte a écrit:Cela signifie que tu n'as pas rentré le bon chemin pour ton fichier.
PS : personnellement, je code sous vim, je n'ai rien trouvé de mieux =).
joel76 a écrit:Essaye déjà avec mon fichier, ça fonctionnait !
1 0.5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1.41421 4 0.585786 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0.585786 2.07055 0.44949 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0.44949 1.65685 0.378937 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0.378937 1.42558 0.333851 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0.333851 1.27135 0.301824 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0.301824 1.15876 0.277556 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0.277556 1.0718 0.258343 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0.258343 1.00197 0.242641 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0.242641 2.58301 1.04886 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1.04886 2.82843 0.365352 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0.365352 1.41699 0.343146 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0.343146 1.3354 0.324555 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0.324555 2.14214 0.746512 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0.746512 3.59897 1.05297 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.05297 3.29346 0.593759 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.593759 2.51359 0.663034 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.663034 3.34901 1.01147 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.01147 3.32906 0.653056 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.653056 3.04814 0.871014 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.871014 2.72863 0.493298 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.493298 2.09021 0.551808 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.551808 1.41041 0.153396 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.153396 0.458849 0.0760289 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0760289 0.303244 0.0755932 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0755932 0.301516 0.0751649 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0751649 0.299817 0.0747438 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0747438 0.445992 0.148252 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.148252 0.443548 0.0735217 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0735217 0.293298 0.0731275 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0731275 0.43645 0.145097
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 1
coqp-ox a écrit:Effectivement, donc je l'ai mis dans le dossier du projet pour corriger l'erreur (c'est suffisant ?) et finalement le programme compile sauf qu'il m'affiche "1 lignes et 0 colonnes" alors qu'avec mes doigts j'arrive à compter (plus ou moins vu que mes doigts ne sont pas tous de la meme taille) 32 lignes/colonnes
coqp-ox a écrit:Après avoir réussi à lire un tableau .txt en C, j'aimerais maintenant que vous m'aidiez à faire le contraire, c'est à dire...écrire un tableau dans un fichier .txt !
J'ai essayé tout seul, le programme compile et tout, et tout, le problème c'est qu'arrivé au moment ou je vais écrire dans le fichier, ca bug...
Voila le code que j'avais fait
[HTML]void ecrirex(double *x, int n)
{
int i;
FILE* fichier = NULL;
fichier = fopen("ValeursM.txt", "w");
if (fichier != NULL)
{
for(i=0;i<n;i++)
{
fprintf(fichier, "%0.5lf", x[i]);
}
fclose(fichier);
}
}[/HTML]
Merci d'avance pour l'aide que vous m'apporterez ! :we:
void ecrirex(double *x, int n)
{
int i;
FILE* fichier = NULL;
fichier = fopen("ValeursM.txt", "w");
if (x == NULL) {
fprintf(stderr, "error x is null\n");
return;
}
if (fichier != NULL)
{
for(i=0;i<n;i++)
{
fprintf(fichier, "%0.5lf", x[i]);
}
fclose(fichier);
}
}
ecrirex(x,n);
coqp-ox a écrit:J'ai bien rajouté la condition et rien n'a changé, donc je suppose que le problème de vient pas de mon tableau x, c'est ca ?
Je l'appelle comme :
- Code: Tout sélectionner
ecrirex(x,n);
:marteau:
void gauss(double **A, double **b, double *x, int n)
{
int i, j, k ;
int imin ;
double p ;
double sum, valmin, tump1, tump2 ;
for (k = 0 ; k -1 ; i--)
{
sum = 0 ;
for (j = n-1 ; j > i ; j--)
{
sum = sum + A[i][j]*x[j] ;
}
x[i] = (b[i][0] - sum)/A[i][i] ;
}
}
void affich_sol(double *x, int n)
{
int i ;
printf(" ===>Affichage de la solution : \n\n\n");
for (i = 0 ; i < n ; i++)
{
printf("(X%d) =",i+1);
printf("\t%.8f",x[i]);
printf("\n\n");
}
}
ampholyte a écrit:Essaye de rajouter dans ta fonction d'écritures des traces (printf) dans ta boucle for par exemple, pour que tu puisses savoir à quel moment et à quel indice de ton tableau, ton programme crash.
Sinon essaye d'executer ton programme pas à pas en mettant des breakpoints.
fichier = fopen("ValeursM.txt", "w");
/* Ne pas oublié d'inclure */
#include
fichier = fopen("ValeursM.txt", "w");
if (fichier == NULL) {
fprintf(stderr, "fopen : %s\n", strerror(errno));
return;
}
for (i = 0; i < n; i++) {
fprintf(fichier, "%0.5lf", x[i]);
}
fclose(fichier);
for (i = 0; i < n; i++) {
fprintf(fichier, "%0.5lf ", x[i]);
}
fputs("", fichier); // pour aller à la ligne
ampholyte a écrit:Peux-tu rajouter cela dans ton code :
- Code: Tout sélectionner
/* Ne pas oublié d'inclure */
#include
fichier = fopen("ValeursM.txt", "w");
if (fichier == NULL) {
fprintf(stderr, "fopen : %s\n", strerror(errno));
return;
}
for (i = 0; i < n; i++) {
fprintf(fichier, "%0.5lf", x[i]);
}
fclose(fichier);
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 7 invités
Tu pars déja ?
Identification
Pas encore inscrit ?
Ou identifiez-vous :