Поменять местами первое и последнее слово в строке без использования указателей - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Как я понял нужно использовать пробел как разделитель слов, но как это реализовать я не знаю.

Решение задачи: «Поменять местами первое и последнее слово в строке без использования указателей»

textual
Листинг программы
for ( i = 0, j = 0, k = 0; i < cntword; i++, j++)
    {
        while(  ptr[j] != ' ' && ptr[j] != ',' && j < count )
            {
            str[i][k] = ptr[j];
            k++;
            j++;
            }
            str[i][k] = '\0';
            k = 0;
        while( ptr[j] == ' ' || ptr[j] == ',') { j++; if( !flag ) flag = TRUE; }
        if( flag ) { j = j - 1; flag = FALSE; }
    }

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

  1. Переменная cntword инициализируется значением количества слов в исходной строке.
  2. Три вложенных цикла начинаются, в которых происходит перебор слов в исходной строке.
  3. Внутренний цикл (j < count) выполняется до тех пор, пока не будет найдено пространство или запятая.
  4. Внутренний цикл (k < len) используется для заполнения текущего слова в массиве строк.
  5. После внутреннего цикла (k < len) устанавливается нулевой символ в конце текущего слова.
  6. Внешний цикл (i < cntword) начинается после завершения внутреннего цикла (k < len).
  7. Внешний цикл (i < cntword) выполняется до тех пор, пока не будут выполнены два условия:
    • Первое условие: найти пробел или запятую в текущем слове.
    • Второе условие: флаг установлен в TRUE.
  8. Если второе условие выполняется, то переменная j уменьшается на 1, чтобы исправить неправильное смещение, вызванное тем, что первое условие было выполнено дважды.
  9. Флаг устанавливается обратно в FALSE.
  10. После завершения внешнего цикла (i < cntword) выполняется завершающая обработка, которая включает в себя:
    • Установку первого символа последнего слова в первое слово.
    • Установку последнего символа первого слова в последнее слово.
    • Установку первого символа первого слова в последний символ последнего слова.
    • Установку последнего символа последнего слова в первый символ первого слова.
  11. Результат выводится на консоль.

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


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

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

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