Отсортировать по возрастанию массив, заданный в виде файла - C (СИ)
Формулировка задачи:
Есть задание: отсортировать по возрастанию массив, заданный в виде файла. Задание необходимо выполнить двумя способами: с использованием классических массивов и с помощью указателей. Помогите, пожалуйста.
Решение задачи: «Отсортировать по возрастанию массив, заданный в виде файла»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- const int N = 10;
- int main()
- {
- int i, j, c, A[N];
- FILE *fp;
- fp = fopen("input.txt", "r");
- if(fp == NULL){
- printf("Net faila dannyh\n");
- return 1;
- }
- for(i = 0; i < N; ++i)
- if(1 != fscanf(fp, "%d", &A[i])){
- printf("Ne hvataet dannyh v faile\n");
- return 1;
- }
- fclose(fp);
- for(i = 0; i < N - 1; ++i){
- for(j = N - 2; j >= i; --j)
- if(A[j] > A[j + 1]){
- c = A[j];
- A[j] = A[j + 1];
- A[j + 1] = c;
- }
- }
- printf("otsortirovanniy massiv\n");
- for(i = 0; i < N; ++i)
- printf("%d ", A[i]);
- return 0;
- }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и математическими операциями
- Объявление константы N, которая определяет размер массива
- Объявление переменных:
- i, j, c - для выполнения операций сравнения и перемещения элементов массива
- A[N] - массив, который будет заполняться числами из файла
- fp - указатель на файл, который будет использоваться для чтения чисел
- Открытие файла input.txt для чтения с помощью функции fopen
- Проверка на успешное открытие файла. Если файл не открылся, выводится сообщение об ошибке и программа завершается
- Чтение чисел из файла в массив A с помощью функции fscanf
- Закрытие файла с помощью функции fclose
- Сортировка массива по возрастанию с помощью алгоритма пузырька
- Вывод отсортированного массива на экран с помощью функции printf
- Возврат 0, что означает успешное выполнение программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д