В исходной строке а$ произвести циклическую перестановку слов вправо на n слов. Вывести исходную и полученную - QBasic

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

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

Помогите решить,пожалуйста: В исходной строке а$ произвести циклическую перестановку слов вправо на n слов. .Вывести исходную и полученную строки.Отблагодарю.

Решение задачи: «В исходной строке а$ произвести циклическую перестановку слов вправо на n слов. Вывести исходную и полученную»

textual
Листинг программы
DEFSTR F, S-T
CLS
INPUT "TEXT"; t
INPUT "N = "; n%
DEF fnf (s)
   s = " " + s
   k% = LEN(s)
   FOR i% = k% TO 1 STEP -1
      s1 = MID$(s, i%, 1)
      IF s1 = " " THEN
         j% = i%
         GOTO 100
      END IF
   NEXT i%
100
s2 = MID$(s, j% + 1, k% - j%)
s = s2 + s
s = MID$(s, 1, k%)
fnf = RTRIM$(s)
END DEF
 
 
FOR ii% = 1 TO n%
   t = fnf(t)
NEXT
PRINT t
END

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

В этом коде реализуется циклическая перестановка слов вправо на n слов в исходной строке t. Список действий:

  1. Задаются исходная строка t и число n.
  2. Определяется функция fnf, которая будет выполнять перестановку.
  3. В функции fnf строка s1 разбивается на отдельные символы.
  4. Если символ является пробелом, то в переменной j сохраняется его позиция.
  5. Если не является, то цикл продолжается.
  6. После цикла в переменной s2 сохраняется подстрока, начиная с позиции j + 1 и до конца строки.
  7. К этой подстроке добавляется начало строки s, чтобы получить итоговую строку.
  8. В функции fnf возвращается итоговая строка.
  9. В основной части программы выполняется цикл, который выполняет функцию fnf для исходной строки t, сохраняя результат в переменной t.
  10. Результат выводится на экран.

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


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

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

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