Сортировка строк в массиве по первому слову - C (СИ)
Формулировка задачи:
Добрый день!подскажите,как реализовать функцию,которая принимает двумерный строчный массив, и сортирует их по длине первого слова(до появления пробела).должно как то выполнятся без создания дополнительно массива указателей.
Решение задачи: «Сортировка строк в массиве по первому слову»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #define N 5 #define M 128 void mySort(char* ); int main() { char s[N][M] = {"Hey you, hey you, devil's little sister Listening to your twisted transistor", "Hold it between your legs Turn it up, turn it up", "The wind is coming through Can't get enough", "Inside you forever preaching", "A lonely life where no one understands you"}; mySort(s[0]); for(int i = 0; i < N; i++) puts(s[i]); return 0; } void mySort(char* str) { int i, j, len, min, minInd; char tmp; for(i = 0; i < N; i++){ for(j = i; j < N; j++){ for(len = 0; *(str + j * M + len) != ' '; len++) ; if(j == i){ min = len; minInd = j; } if(min > len){ min = len; minInd = j; } } if(minInd != i){ for(len = 0; *(str + i * M + len) || *(str + minInd * M + len); len++){ tmp = *(str + i * M + len); *(str + i * M + len) = *(str + minInd * M + len); *(str + minInd * M + len) = tmp; } *(str + minInd * M + len) = '\0'; } } }
Объяснение кода листинга программы
- Объединение двух строк с помощью оператора конкатенации ','
- Объявление массива строк с помощью оператора malloc
- Вывод содержимого массива с помощью функции printf
- Сортировка массива с помощью функции mySort
- Передача первого элемента массива в функцию mySort
- Объявление локальной переменной i в функции main
- Объявление локальной переменной j в функции main
- Объявление локальной переменной len в функции main
- Объявление локальной переменной min в функции main
- Объявление локальной переменной minInd в функции main
- Ввод строки в функцию mySort
- Вывод отсортированного массива с помощью функции printf
- Установка значения локальной переменной min в функцию main
- Установка значения локальной переменной minInd в функцию main
- Установка значения локальной переменной len в функцию main
- Установка значения локальной переменной j в функцию main
- Установка значения локальной переменной i в функцию main
- Установка значения первого элемента массива в функцию mySort
- Объявление локальной переменной tmp в функции mySort
- Вывод отсортированного массива с помощью функции printf
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д