Составить программу циклической перестановки букв в словах - VB

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

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

Пожалуйста, помогите решить задачу в visual basic. вот задача: Составить программу циклической перестановки букв в словах текста так, что i-я буква слова становится i+1-ой, а последняя - первой. я без понятия как ее делать =(

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

textual
Листинг программы
Declare Sub CopyMem Lib "kernel32" Alias "RtlMoveMemory" (Dst As Any, Src As Any, ByVal Length As Long)
Const L2& = 2
 
Sub RRS(s$)
    'RotateRightString - последний символ на место первого
Dim i%, ptrS&, lenS&
ptrS = StrPtr(s)                          'адрес первого символа строки
lenS = LenB(s) - L2                       'длина копируемого блока в байтах
CopyMem i, ByVal ptrS + lenS, L2          'сохраняем последний символ в переменной i
CopyMem ByVal ptrS + L2, ByVal ptrS, lenS 'копируем блок
CopyMem ByVal ptrS, i, L2                 'вставляем сохраненный символ на место первого
End Sub
 
Sub RLS(s$)
    'RotateLeftString - первый символ на место последнего
Dim i%, ptrS&, lenS&
ptrS = StrPtr(s)                          'адрес первого символа строки
lenS = LenB(s) - L2                       'длина копируемого блока в байтах
CopyMem i, ByVal ptrS, L2                 'сохраняем первый символ в переменной i
CopyMem ByVal ptrS, ByVal ptrS + L2, lenS 'копируем блок
CopyMem ByVal ptrS + lenS, i, L2          'вставляем сохраненный символ на место последнего
End Sub
 
'-------------------------------------------------------
 
Sub test()
Dim s$, i&
 
s = "0123456789"
For i = 1 To Len(s) 'полный оборот
    RRS s
'    RLS s
    Debug.Print s
Next
End Sub

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

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