#include <iostream>
#include <string>
using namespace std;
int main()
{
string w;
int b;
string arr;
getline(cin,w);
cin>>b;
cin.ignore();
getline(cin,arr);
if(w == "szyfruj")
{
for(int i=0; i<arr.size(); i++)
{
if(int(arr[i])>=97 && int(arr[i])<=122 || int(arr[i])>=65 && int(arr[i])<=90)
{
if(int(arr[i])>=97 && int(arr[i])<=122)
{
if(int(arr[i])+b>122) arr[i]-=26;
arr[i]+=b;
}
else
{
if(int (arr[i])+b>90) arr[i]-=26;
arr[i]+=b;
}
}
}
}
if(w == "odszyfruj")
{
for(int i=0; i<arr.size(); i++)
{
if(int(arr[i])>=97 && int(arr[i])<=122 || int(arr[i])>=65 && int(arr[i])<=90)
{
if(int(arr[i])>=97 && int(arr[i])<=122)
{
if(int(arr[i])-b<97) arr[i]+=26;
arr[i]-=b;
}
else
{
if(int (arr[i])-b<65) arr[i]+=26;
arr[i]-=b;
}
}
}
}
cout<<arr;
return 0;
}
Объяснение:
код на с++ для примера
пункт со сдвигом букв сам сделаешь
P. S. у меня на 5 они сдвигаются,
type
Товар = class
public
Наименование: string;
Стоимость: real;
СрокГодности: integer;
Производитель: string;
constructor (Наим: string; Стоим: real; Срок: integer; Произв: string);
begin
Наименование := Наим;
Стоимость := Стоим;
СрокГодности := Срок;
Производитель := Произв;
end;
function ToString: string; override;
begin
Result := $'{Наименование}, {Стоимость}, {СрокГодности}, {Производитель}'
end;
end;
begin
var t1 := new Товар('Конфетка',250.6,24,'Артелька');
var t2 := new Товар;
t2.Наименование := 'Печенька';
t2.Стоимость := 79;
t2.СрокГодности := 36;
Println(t1);
Println(t2)
end.
Поделитесь своими знаниями, ответьте на вопрос: