Зашифровать строку методом Цезаря - VB

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

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

Помогите, пожалуйста, написать код к заданию: Зашифровать строку, содержащую русские буквы, пробелы и знаки препинания: заменить каждую букву, непосредственно следующей за ней по алфавиту ("я" на "а"), строчную букву преобразовать в прописную, прописную - в строчную.

Решение задачи: «Зашифровать строку методом Цезаря»

textual
Листинг программы
Option Explicit
 
Function Coder(s As String, Shift As Integer) As String
Const abc As String = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя"
Dim c As String, I As Long, U As Boolean, Pos As Long
For I = 1 To Len(s)
  c = Mid$(s, I, 1)
  Pos = InStr(1, abc, c, vbTextCompare)
  If Pos Then
    U = c = UCase(c)
    Pos = (Pos + Shift) Mod Len(abc)
    If Pos = 0 Then Pos = Len(abc)
    c = Mid$(abc, Pos, 1)
    c = IIf(U, LCase(c), UCase(c))
  End If
  Coder = Coder & c
Next I
End Function
 
Sub Coder_Example()
Dim s1 As String, s2 As String, s3 As String
s1 = "ёПробаЯ1, ЯПробаЁ2"
s2 = Coder(s1, 1): MsgBox s2, , "Зашифровали " & s1
s3 = Coder(s2, -1): MsgBox s3, , "Расшифровали " & s2
End Sub

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


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

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

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