Считать числа из файла, отсортировать и записать в другой - C (СИ)
Формулировка задачи:
Программа должна считывать 10 чисел из файла input.txt, сортировать их в порядке возрастания и записывать в файл output.txt. Компилировалось без ошибок. При запуске ничего не происходит. В чем может быть ошибка?
Как можно изменить программу, чтобы N - кол-во чисел, считывалось с первой строки input.txt, а числа со второй?
#include <stdio.h> main(){ int i,j,N,mm,tmp; FILE *in, *out; in=fopen("input.txt","r"); out=fopen("output.txt","w"); int dig[N]; scanf("%d", &dig[N]); for(i=N-1;i>=1;i--){ N=10; mm=0; for(j=1;j<=i;j++) if(dig[j] > dig[mm]) mm=j; tmp=dig[i]; dig[i]=dig[mm]; dig[mm]=tmp; } for(i=0;i<N;i++) fprintf(out, "%d ",dig[i]); fclose(in); fclose(out); return 0; }
Решение задачи: «Считать числа из файла, отсортировать и записать в другой»
textual
Листинг программы
N=10; int dig[N]; fscanf(in,"%d", &dig[N]);
Объяснение кода листинга программы
- Объявляется целочисленная переменная N и инициализируется значением 10.
- Объявляется массив dig типа int и инициализируется 10 элементами.
- Файловый указатель in инициализируется.
- В цикле от 0 до N-1 происходит чтение чисел из файла в массив dig с помощью функции fscanf.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д