Сортировка массива строк (не используя стандартные функции) - 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
меньше количества аргументов в командной строке.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д