Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2013, 21:52   #1
httpapple
Новичок
Джуниор
 
Регистрация: 26.11.2013
Сообщений: 2
По умолчанию Дешифровка (Метод цезаря)

Код:
#include <iostream>
#include <math.h>
#include <fstream>
#include <string>
#include <fstream>
#include <windows.h>
using namespace std;
int main ()
{
	SetConsoleCP(1251);
SetConsoleOutputCP(1251);
setlocale(LC_ALL,"rus");
char massim[1000], massimm[1000]; 
int sum,i,d1,j,q,k,p,d2,w,s,h;
int a [1000], b [1000], c[1000], d[1000];
ifstream inFile;
inFile.open ("кодовый блокнот.txt", ios::in);
if(!inFile.is_open())
	cout<<"Ошибка открытия кодового блокнота";
inFile.get(massim,1000,EOF);
inFile.close();
d1=strlen(massim);

sum=0;j=0;
i=0;
do
{
	i++;
	if(int(massim[i])!=' ')

	sum=sum+int(massim[i]);
	else
	{
			a[j]=sum;
			sum=0;
			j++;
		
	}
}
while(i<d1);

for(q=0;q<j;q++)
	cout<< a[q]<<" ";
cout << endl;
cout << endl;

ifstream Second;
Second.open ("2.txt", ios::in);
if(!Second.is_open())
	cout<<"Ошибка открытия текста для кодировки";

Second.get(massimm,1000,EOF);
Second.close();
d2=strlen(massimm);
p=0;k=0;
do
{
	b[k]=int(massimm[k]);
	 k++;
}
while(k<d2);

for(w=0;w<k;w++)
	cout<< b[w]<<"  ";
cout<<endl;
cout<<endl;
s=0;
for(i=0;i<k;i++)
{

s=(a[i]+b[i])%256;
c[i]=s;
}
for(h=0;h<i;h++)
	cout<< c[h]<<"  ";
cout<<endl;
cout<<endl;

for(i=0;i<k;i++)
{

s=(a[i]-c[i])%256;
d[i]=s;
}
for(h=0;h<i;h++)
	cout<< d[h]<<"  ";
cout<<endl;
cout<<endl;






system ("pause");
}


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.


Вообщем беру кодовый блокнот, считываю его посимвольно, затем загоняю всего это в массив (разделяя пробелами при этом суммирую коды аски каждого слова), т.е. каждый элемент массива соответствует сумме кодов аски всех букв в нем

Второй цикл в нем я считаю коды текста,который хочу зашифровать и составляю массив, в котором каждый элемент (код аски включая пробелы)


Далее шифровка: к каждому элементу массива кодового блокнота я прибавляю элемент массива кодов текста,котороый хочу зашифровать.
и их сумму делю на 256 и остаток от деления записываю в массив


Далее расшифровка, помогите пожалуйста с ней, что нужно сделать с чтобы вывело коды текста который я зашифровываю с помощью массива кодового блокнота и шифрованного массива?

Последний раз редактировалось Serge_Bliznykov; 26.11.2013 в 23:07.
httpapple вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Метод подстановки, Дешифровка текстов, зашифрованных методами перестановки Айдар Помощь студентам 5 25.10.2015 21:00
дешифровка метод Уинтстона for_tuna Паскаль, Turbo Pascal, PascalABC.NET 0 13.12.2012 17:32
Шифрование. Метод аффинных подстановок Цезаря. Flaina Помощь студентам 0 24.02.2012 13:40
шифрование метод Цезаря MISHAIL Помощь студентам 5 05.02.2011 16:26
Метод Цезаря. Файл с расширением .pas Александра1000000 Общие вопросы C/C++ 0 07.06.2010 21:19