Aide erreur dans un programme en C

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;
Configuration: Windows XP
Internet Explorer 7.0

3 réponses

  1. 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()
    -1
    1. #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;
      }
      -1
      1. merci , comment je declare le getch(); il me dit ke ce n'est pas déclaré
        -1
    2. Salut,
      FILE* f;
      char*fichier="resultat.txt";
      if (f=fopen(fichier,"w")) fprintf(f,"%d",s);
      ca devrait marcher....
      @+
      -1
      1. MERCI chuka? j'ai éssayé ta methode mais il m'enregistre pas la matrice dan sle fichier.
        -1