В исходной строке а$ произвести циклическую перестановку слов вправо на 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. Список действий:
- Задаются исходная строка t и число n.
- Определяется функция fnf, которая будет выполнять перестановку.
- В функции fnf строка s1 разбивается на отдельные символы.
- Если символ является пробелом, то в переменной j сохраняется его позиция.
- Если не является, то цикл продолжается.
- После цикла в переменной s2 сохраняется подстрока, начиная с позиции j + 1 и до конца строки.
- К этой подстроке добавляется начало строки s, чтобы получить итоговую строку.
- В функции fnf возвращается итоговая строка.
- В основной части программы выполняется цикл, который выполняет функцию fnf для исходной строки t, сохраняя результат в переменной t.
- Результат выводится на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д