Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду Сместиться на (a, b) (где a, b — целые числа), перемещающую Чертёжника из точки с координатами (x, у) в точку с координатами (x + а, у + b). Если числа a, b положительные, значение соответствующей координаты увеличивается; если отрицательные, уменьшается.
Например, если Чертёжник находится в точке с координатами (4, 2), то команда Сместиться на (2, −3) переместит Чертёжника в точку (6, −1).
Запись
Повтори k раз
Команда1 Команда2 КомандаЗ
Конец
означает, что последовательность команд Команда1 Команда2 КомандаЗ повторится k раз.
Чертёжнику был дан для исполнения следующий алгоритм:
Повтори 7 paз
Сместиться на (−1, 2) Сместиться на (−2, 2) Сместиться на (4, −5) Конец
Каковы координаты точки, с которой Чертёжник начинал движение, если в конце он оказался в точке с координатами (1, 1)?
1) (6, 8)
2) (−6, 8)
3) (8, −6)
4) (8, 6)
#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 они сдвигаются,
/*
Методов решения много, самый но длинный - это switch ... case..
Можно было использовать map из STL
*/
#include <iostream>
#include <vector>
#include <sstream>
using namespace std;
int main()
{
int number;
cin>>number;
switch (number){
case 1:
cout<<"Понедельник\n";
break;
case 2:
cout<<"Вторник\n";
break;
case 3:
cout<<"Среда\n";
break;
case 4:
cout<<"Четверг\n";
break;
case 5:
cout<<"Пятница\n";
break;
case 6:
cout<<"Суббота\n";
break;
case 7:
cout<<"Воскресенье\n";
break;
default:
cout<<"Нет дня недели под этим номером";
}
return 0;
}
Краткий гайд:
number - переменная, отвечает за номер дня неделиswitch - case - оператор множественного выбора. Подробнее читаем на cppstudio.com, cppreference.com или других порталах