Программа работает при условии, что введённые числа целые.
#include <iostream> #include <string>
using namespace std;
int main() { string S,P; char c[10000] = ""; int C,z; double R = 1; getline(cin, S); S+=' '; for(int i = 0; i<S.length(); i++) { if(S[i] != ' '){ if(S[i] == '-'){z = -1; i++;} else z = 1; C = 0; while((S[i] >='0')&&(S[i] <= '9')) { C = C*10 + (S[i] - '0'); i++; } C = C*z; R*=C; itoa(C,c,10); if (z == -1) { P+='('; P+=c; P+=')'; } else P+=c; P+="*"; } } P[P.length()-1] = '='; int d,s; P+=ecvt(R,4,&d,&s); S = P; cout << S << "\n"; system("Pause"); return 0; }
minchevaelena23
10.06.2020
''' Шифр Цезаря. Только для английского алфавита. Python 3.X '''
s = input('Строка для шифрования: ') n = int(input('Сдвиг: ')) res = [] # список с символами результата for l in s: # для каждого символа в строке if not 97 <= ord(l) <= 122: # если символ - не латинская буква ... res.append(l) # ... добавить к ответу "как есть" else: o = (ord(l) - 96 + n) % 26 # номер закод. буквы в алфавите char = chr(o + 96) # символ по таблице ASCII res.append(char) # добавить закодированную букву к ответу print('Результат:', ''.join(res))
Объяснение:
Решение во вложении