Bubble sort с файлом в C - PullRequest
       9

Bubble sort с файлом в C

0 голосов
/ 11 января 2012

Я хочу реализовать пузырьковую сортировку с записью в файл.Я думаю, что сортировка хороша, но что-то не так с записью в файл.

int main(int argc, char *argv[])
{
   FILE *fp; 
   int tab[] = {3,5,1,2,4};
   int i, j, temp;
   if ((fp=fopen("test.txt", "w"))==NULL) {
     printf ("Error!\n");
     exit(1);
   }
   for(i =0; i<5;i++)
   {
     for(j=0; j<4; j++)
     {
       if(tab[j] > tab[j+1])
       {
         temp = tab[j+1];   
         tab[j+1] = tab[j]; 
         tab[j] = temp;
       }
     }
   }

   fprintf (fp, "%d", tab);
   fclose (fp); 
   return 0;
}

Можете ли вы мне помочь?

1 Ответ

3 голосов
/ 11 января 2012

Поскольку строка формата %d указывает printf() на вывод единственного целого числа, код пытается записать указатель на массив целых чисел, как если бы он был целым числом.

Просто зациклите массив и выведите один int в каждой итерации. Вам также нужно будет выбрать разделитель, который вы хотите использовать, иначе все целые числа будут записаны рядом, чтобы читатель не смог их понять.

...