Aide erreur dans un programme en C
tfcv123
Messages postés
74
Date d'inscription
Statut
Membre
Dernière intervention
-
chuka Messages postés 965 Date d'inscription Statut Membre Dernière intervention -
chuka Messages postés 965 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai ce programme ki demande d'entrere le nombre d'arretes et de somment d'un graphe, de l'afficher et de l'enregistrer dans un fichier. Voila j'arrive à tous faire sauf l'enregistrement, il crée le fichier mais il n'enregistre pas.
Que faire? aidez moi.
voici le programme:
#include<stdio.h>
//#include<stblib.h>
int i,j,n,p;
main()
{
int m[20][20],t[20],s,k,nb;
printf("introduire n le nombre de sommets\n\n n=");
scanf("%d",&n);
printf("introduire n le nombre d'arretes\n\n n=");
scanf("%d",&p);
printf("introduire la matrice\n\n");
for(i=1;i<=n;i++)
{
for(j=1;j<=p;j++)
{
ref:
printf("M(%d,%d)=",i,j);
scanf("%d",&s);
if (s!=0&&s!=1)
{
printf("erroné!!\a\n\n");
goto ref;
}
else
m[i][j]=s;
}
//affichage de la matrices;
}
printf("affichage de la matrice :\n");
for(i=1;i<=n;i++)
{
for(j=1;j<=p;j++)
{
printf(" %d ",m[i][j]);
}
printf("\n\n\n");
}
FILE *f;
char filename[255];
{
sprintf((char *) &filename,"resultats.txt",i);
printf("Je vais enregistrer dans le fichier\n",filename);
f = fopen(filename,"w");
if (f) fprintf(f, s);
//if (f) fprintf(f,"X=%d Y=%d\n",i,i+1);
else fprintf(stderr,"Erreur : ne peut pas ouvrir \n",filename);
fclose(f);
}
return 0;
j'ai ce programme ki demande d'entrere le nombre d'arretes et de somment d'un graphe, de l'afficher et de l'enregistrer dans un fichier. Voila j'arrive à tous faire sauf l'enregistrement, il crée le fichier mais il n'enregistre pas.
Que faire? aidez moi.
voici le programme:
#include<stdio.h>
//#include<stblib.h>
int i,j,n,p;
main()
{
int m[20][20],t[20],s,k,nb;
printf("introduire n le nombre de sommets\n\n n=");
scanf("%d",&n);
printf("introduire n le nombre d'arretes\n\n n=");
scanf("%d",&p);
printf("introduire la matrice\n\n");
for(i=1;i<=n;i++)
{
for(j=1;j<=p;j++)
{
ref:
printf("M(%d,%d)=",i,j);
scanf("%d",&s);
if (s!=0&&s!=1)
{
printf("erroné!!\a\n\n");
goto ref;
}
else
m[i][j]=s;
}
//affichage de la matrices;
}
printf("affichage de la matrice :\n");
for(i=1;i<=n;i++)
{
for(j=1;j<=p;j++)
{
printf(" %d ",m[i][j]);
}
printf("\n\n\n");
}
FILE *f;
char filename[255];
{
sprintf((char *) &filename,"resultats.txt",i);
printf("Je vais enregistrer dans le fichier\n",filename);
f = fopen(filename,"w");
if (f) fprintf(f, s);
//if (f) fprintf(f,"X=%d Y=%d\n",i,i+1);
else fprintf(stderr,"Erreur : ne peut pas ouvrir \n",filename);
fclose(f);
}
return 0;
A voir également:
- Aide erreur dans un programme en C
- Mettre en veille un programme - Guide
- Programme demarrage windows - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Forcer la fermeture d'un programme - Guide
- Message programmé iphone - Guide
3 réponses
Salut,
FILE* f;
char*fichier="resultat.txt";
if (f=fopen(fichier,"w")) fprintf(f,"%d",s);
ca devrait marcher....
@+
FILE* f;
char*fichier="resultat.txt";
if (f=fopen(fichier,"w")) fprintf(f,"%d",s);
ca devrait marcher....
@+
tfcv123
Messages postés
74
Date d'inscription
Statut
Membre
Dernière intervention
MERCI chuka? j'ai éssayé ta methode mais il m'enregistre pas la matrice dan sle fichier.
#include<stdio.h>
#include<stdlib.h>
int i,j,n,p;
main()
{
int m[20][20],t[20],s,k,nb;
FILE *f;
char filename[255];
printf("introduire n le nombre de sommets\n\n n=");
scanf("%d",&n);
printf("introduire n le nombre d'arretes\n\n n=");
scanf("%d",&p);
printf("introduire la matrice\n\n");
for(i=1;i<=n;i++)
{
for(j=1;j<=p;j++)
{
ref:
printf("M(%d,%d)=",i,j);
scanf("%d",&s);
if (s!=0&&s!=1)
{
printf("erroné!!\a\n\n");
goto ref;
}
else
m[i][j]=s;
}
//affichage de la matrices;
}
printf("affichage de la matrice :\n");
for(i=1;i<=n;i++)
{
for(j=1;j<=p;j++)
{
printf(" %d ",m[i][j]);
}
printf("\n\n\n");
}
{
sprintf((char *) &filename,"resultats.txt",i);
printf("Je vais enregistrer dans le fichier\n",filename);
f = fopen(filename,"w");
if (f){
fprintf(f,"X=%d Y=%d\n",i,i+1);
for(i=1;i<=n;i++)
{
for(j=1;j<=p;j++)
fprintf(f," %d ",m[i][j]);
fprintf(f,"\n");
}
}
else fprintf(stderr,"Erreur : ne peut pas ouvrir \n",filename);
fclose(f);
}
getch();
return 0;
}
#include<stdlib.h>
int i,j,n,p;
main()
{
int m[20][20],t[20],s,k,nb;
FILE *f;
char filename[255];
printf("introduire n le nombre de sommets\n\n n=");
scanf("%d",&n);
printf("introduire n le nombre d'arretes\n\n n=");
scanf("%d",&p);
printf("introduire la matrice\n\n");
for(i=1;i<=n;i++)
{
for(j=1;j<=p;j++)
{
ref:
printf("M(%d,%d)=",i,j);
scanf("%d",&s);
if (s!=0&&s!=1)
{
printf("erroné!!\a\n\n");
goto ref;
}
else
m[i][j]=s;
}
//affichage de la matrices;
}
printf("affichage de la matrice :\n");
for(i=1;i<=n;i++)
{
for(j=1;j<=p;j++)
{
printf(" %d ",m[i][j]);
}
printf("\n\n\n");
}
{
sprintf((char *) &filename,"resultats.txt",i);
printf("Je vais enregistrer dans le fichier\n",filename);
f = fopen(filename,"w");
if (f){
fprintf(f,"X=%d Y=%d\n",i,i+1);
for(i=1;i<=n;i++)
{
for(j=1;j<=p;j++)
fprintf(f," %d ",m[i][j]);
fprintf(f,"\n");
}
}
else fprintf(stderr,"Erreur : ne peut pas ouvrir \n",filename);
fclose(f);
}
getch();
return 0;
}
Salut,
autant pour moi, en effet....sinon tu peux mettre le code dans en meme temps quela boucle d'affichage...i:
printf("affichage de la matrice :\n");
for(i=1;i<=n;i++)
{
for(j=1;j<=p;j++)
{
printf(" %d ",m[i][j]);
fprintf(f,"%d",m[i][j]); //il faudra ouvrir le fichier avant....
}
printf("\n\n\n");
}
Sinon la soluce de sway-yazen doit tourner!!
Bon courage!!
@+
ps:c'est pas getch() mais getchar()
autant pour moi, en effet....sinon tu peux mettre le code dans en meme temps quela boucle d'affichage...i:
printf("affichage de la matrice :\n");
for(i=1;i<=n;i++)
{
for(j=1;j<=p;j++)
{
printf(" %d ",m[i][j]);
fprintf(f,"%d",m[i][j]); //il faudra ouvrir le fichier avant....
}
printf("\n\n\n");
}
Sinon la soluce de sway-yazen doit tourner!!
Bon courage!!
@+
ps:c'est pas getch() mais getchar()