В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Мышка007
Мышка007
25.12.2022 00:09 •  Информатика

1.написать программу У:=Х=А;
2. Найти среднее арифметическое 3 чисел

Показать ответ
Ответ:
755Никита7451
755Никита7451
14.05.2023 01:31

#include <iostream>

#include <string>

#include <conio.h>

#include <stdlib.h>

#include <sstream>

#include <fstream>

using namespace std;

int main()

{

int k; //Переменная выбора - шифрование/дешифрование

int shift; //Величина сдвига

string result = ""; //Строка - результат

cout<<"Enter 1 for encryption and decryption of 2\n";

cin>>k;

switch (k) //Если k

{

case 1: //Если выбрано шифрование

{

cout<<"Enter value shift for encryption\n";

cin>>shift;

if (shift > 26)

shift = shift % 26; //Вычисление сдвига

cout<<"Read of file...\n";

setlocale(LC_ALL,"Russian");//Чтение файла

string s; //Строка считанная из файла

ifstream in("Test.txt");

getline(in,s);

cout<<"Text of file: \n"<<s<<endl;

in.close();

cout<<"Reading complete!\n";

cout<<"Encryption...\n";

for (int i = 0; i < s.length(); i++)

{

//Если не латиница

if (((int)(s[i]) < 65)||((int)(s[i]) > 122))

result += s[i];

//Если буква является строчной

if (((int)(s[i]) >= 97) && ((int)(s[i]) <= 122))

{

//Если буква, после сдвига выходит за пределы алфавита

if ((int)(s[i]) + shift > 122)

//Добавление в строку результатов символ

result += (char)((int)(s[i]) + shift - 26);

//Если буква может быть сдвинута в пределах алфавита

else

//Добавление в строку результатов символ

result += (char)((int)(s[i]) + shift);

}

//Если буква является прописной

if (((int)(s[i]) >= 65) && ((int)(s[i]) <= 90))

{

//Если буква, после сдвига выходит за пределы алфавита

if ((int)(s[i]) + shift > 90)

//Добавление в строку результатов символ

result += (char)((int)(s[i]) + shift - 26);

//Если буква может быть сдвинута в пределах алфавита

else

//Добавление в строку результатов символ

result += (char)((int)(s[i]) + shift);

}

}

cout<<"Encryption complete!\n";

cout<<"Result:\n";

cout<<result; //Вывод результата

break;

}

case 2: //Если выбрано дешифрование

{

cout<<"Enter value shift for decryption\n";

cin>>shift;

if (shift > 26)

shift = shift % 26;

cout<<"Read of file...\n";

setlocale(LC_ALL,"Russian");

string s;

ifstream in("Test.txt");

getline(in,s);

cout<<"Text of file: \n"<<s<<endl;

in.close();

cout<<"Reading complete!\n";

cout<<"Decryption...\n";

for (int i = 0; i < s.length(); i++)

{

//Если не латиница

if (((int)(s[i]) < 65)||((int)(s[i]) > 122))

result += s[i];

//Если буква является строчной

if (((int)(s[i]) >= 97) && ((int)(s[i]) <= 122))

{

//Если буква, после сдвига выходит за пределы алфавита

if ((int)(s[i]) - shift < 97)

//Добавление в строку результатов символ

result += (char)((int)(s[i]) - shift + 26);

//Если буква может быть сдвинута в пределах алфавита

else

//Добавление в строку результатов символ

result += (char)((int)(s[i]) - shift);

}

//Если буква является прописной

if (((int)(s[i]) >= 65) && ((int)(s[i]) <= 90))

{

//Если буква, после сдвига выходит за пределы алфавита

if ((int)(s[i]) - shift < 65)

//Добавление в строку результатов символ

result += (char)((int)(s[i]) - shift + 26);

//Если буква может быть сдвинута в пределах алфавита

else

//Добавление в строку результатов символ

result += (char)((int)(s[i]) - shift);

}

}

cout<<"Decryption complete!\n";

cout<<"Result:\n";

cout<<result; //Вывод результата

break;

}

default: //Если ошибочное значение

{

cout<<"Error value\n";

break;

}

}

getch();

return 0;

}

0

0,0(0 оценок)
Ответ:
Greeegooo
Greeegooo
14.05.2023 01:31

числа в if берутся из кодов ASCII

Объяснение:

#include <stdio.h>

#include <string.h>

int

main ()

{

 char s[10001];

 int i = 0;

 for (int j = 0; j < 10001; j++) {

     scanf("%c", &s[j]);

     if (s[j] == '\n')

         break;

 }

 while (s[i] != '\n')

   {

   if (((int)s[i] > 64 && (int)s[i] < 91) || ((int)s[i] > 96 && (int)s[i] < 123))

     if ((int)s[i] > 124)

s[i] = (char)((int)s[i] - 92); //3-127+32=92

else

       s[i] = (char)((int)s[i] + 3);

   i++;

   }

 for (int j = 0; j < i; j++)

     printf("%c", s[j]);

 return 0;

}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота