PascalABCNET
Ввести строку из латинских букв. Ввести натуральное число. Зашифровать исходную строку, сдвигая буквы на введенное количество позиций.

Ответы

Ответ дал: petyaGavrikov
0
1.
var s1,s2:string;
i,n:integer;
begin
writeln('Введите строку:');
readln(s1);
writeln('Введите число:');
readln(n);
s2:='';
for i:=1 to length(s1) do
 s2:=s2+chr(ord(s1[i])+n);
writeln(s2);
end.

Пример:
Введите строку:
program
Введите число:
5
uwtlwfr

2.
begin
  var s:=ReadlnString('Введите строку:');
  var n:=ReadlnInteger('Введите число:');
  s.Select(c->chr(ord(c)+n)).Println;
end.

Пример:
Введите строку: program
Введите число: 5
uwtlwfr
Ответ дал: Аноним
0
Введите строку: zebra
Введите число: 10
ol|k
Ответ дал: Аноним
0
begin
var s:=ReadlnString('Введите строку:');
var n:=ReadlnInteger('Введите число:');
var b:=ord('a');
s.Select(c->chr((ord(c)-b+n) mod 26+b)).Println;
end.
Ответ дал: petyaGavrikov
0
Про кольцо автор вопроса не написал - только про сдвиг. )
Ответ дал: Аноним
0
Вот поэтому буква z отображается неизвестно во что. Представьте себе сдвиг 50... что получится?
Вас заинтересует