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

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

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

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

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

textual
Листинг программы
  1. for ( i = 0, j = 0, k = 0; i < cntword; i++, j++)
  2.     {
  3.         while(  ptr[j] != ' ' && ptr[j] != ',' && j < count )
  4.             {
  5.             str[i][k] = ptr[j];
  6.             k++;
  7.             j++;
  8.             }
  9.             str[i][k] = '\0';
  10.             k = 0;
  11.         while( ptr[j] == ' ' || ptr[j] == ',') { j++; if( !flag ) flag = TRUE; }
  12.         if( flag ) { j = j - 1; flag = FALSE; }
  13.     }

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

  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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы