Отсортировать строки по длине в порядке возрастания методом сравнения - C (СИ)
Формулировка задачи:
Отсортировать строки по длине в порядке возрастания методом сравнения.(не используя указатели)
Максимальное кол-во строк 6, максимальное кол-во символов в строке 80.
Никак не могу придумать как это реализовать, может кто-нибудь подсказать?
Решение задачи: «Отсортировать строки по длине в порядке возрастания методом сравнения»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <locale.h> #define line 80 #define column 6; int main(){ setlocale(LC_ALL,"rus"); char array_a[column][line]; int i, j, k; for(i = 0, j = 0; i < column; i++){ scanf("%s", array_a); } for(k = 0; k < column; k++){ for(i = 0, j = 0; i < column - 1; i++){ if( strlen(array_a[i][j]) > strlen(array_a[i+1][j]) ){ //тут поменяем строки местами через swap вроде . . . } } } for(i = 0, j = 0; i < n; i++){ printf("%s\n", array_a[i][j]); } return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и вводом-выводом, а также установка русской локали.
- Объявление массива строк и инициализация счётчиков для внешнего и внутреннего циклов.
- Считывание строк с помощью функции scanf и сохранение их в массиве.
- Внешний цикл для перебора всех строк в массиве.
- Внутренний цикл для сравнения строк и их последующего перестановления (название и значение переменной, где происходит обмен, не указано).
- Окончание внутреннего цикла и возврат к началу внешнего цикла.
- Вывод отсортированных строк на экран с помощью функции printf.
- Завершение программы с возвратом 0.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д