Сортировка массива строк (не используя стандартные функции) - 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++) // как видите расширили и верхнюю и нижнюю границы

Объяснение кода листинга программы

  1. i - переменная для цикла.
  2. argc - переменная для хранения количества аргументов в командной строке.
  3. Условие цикла for состоит из двух частей: i < argc и i++.
  4. Первая часть условия i < argc проверяет, что значение переменной i меньше количества аргументов в командной строке.
  5. Вторая часть условия i++ увеличивает значение переменной i на 1 после каждой итерации цикла.
  6. Цикл выполняется до тех пор, пока значение переменной i меньше количества аргументов в командной строке.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5
Похожие ответы