Сортировка массива строк (не используя стандартные функции) - C (СИ)
Формулировка задачи:
Всем привет!
Написал код, для сортировки массива строк, но почему-то сортирует как-то не сортирует первый и последний элемент, как я понимаю
Вот код:
Листинг программы
- void strcmp(int argc, char *argv[])
- {
- int i = 1, j = 0, m = 0;
- char *temp = 0;
- for (i; i < argc - 1; i++)
- {
- for (j = i+1; j <argc; j++)
- {
- for (;;){
- m++;
- if (argv[i][m]<argv[j][m])
- {
- temp = argv[i];
- argv[i] = argv[j];
- argv[j] = temp;
- }
- if (argv[i][m]=='\0'||argv[j][m]=='\0')
- break;
- }
- }
- }
- }
Решение задачи: «Сортировка массива строк (не используя стандартные функции)»
textual
Листинг программы
- int i; // инициализация необязательна.
- for (i =0; i < argc; i++) // как видите расширили и верхнюю и нижнюю границы
Объяснение кода листинга программы
i
- переменная для цикла.argc
- переменная для хранения количества аргументов в командной строке.- Условие цикла
for
состоит из двух частей:i < argc
иi++
. - Первая часть условия
i < argc
проверяет, что значение переменнойi
меньше количества аргументов в командной строке. - Вторая часть условия
i++
увеличивает значение переменнойi
на 1 после каждой итерации цикла. - Цикл выполняется до тех пор, пока значение переменной
i
меньше количества аргументов в командной строке.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д