Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> С++.Шифрование\Дешифрование методом Вижинера, Виженер с символьным ключом 
:(
    Опции темы
Gilm
Дата 30.5.2011, 11:59 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 29.5.2011

Репутация: нет
Всего: нет



Здравствуйте уважаемые программисты! Прошу у вас помощи в разработке программ шифрования\дешифрования методом Вижинера с символьным ключом. (Прошу всего лишь помочь дописать, а не полностью делать за меня) Итак, проблема у меня в следующем: собственно шифратор я сделал кое-как,но он может правильно шифровать если введено только одно слово, помогите пожалуйста изменить программу так, чтобы она нормально работала с пробелами! Среда написания Borland C++ 3.1.
Вот то что я сделал:

Код

#include<iostream.h>
#include<string.h>
#include<conio.h>
#include<stdio.h>

int main()
{
int kst,ksk,p1,p2,i,j,tn[100],pn[100],sn[100];
char text[100],posl[100],shifr[100],key[10];
cin.get(text,100);cin>>key;
static char alf[26]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
//--------------------0---1---2---3---4---5---6---7---8---9---10--11--12--13--14--15--16--17--18--19--20--21--22--23--24--25
kst=strlen(text);ksk=strlen(key);
//формирование ключевой последовательности
p1=kst/ksk;p2=kst%ksk;
for(i=0;i<p1;i++)
strcat(posl,key);
strncat(posl,key,p2);
//----------------------------------------------------
//запись в числа ключевой последовательности и введенного текста
for(i=0;i<kst;i++){
 for(j=0;j<26;j++){
 if(text[i]==alf[j])
 tn[i]=j;}}
for(i=0;i<kst;i++){
 for(j=0;j<26;j++){
 if(posl[i]==alf[j])
 pn[i]=j;}}
//----------------------------------------------------
//получение зашифрованного текста
for(i=0;i<kst;i++){
sn[i]=(pn[i]+tn[i])%26;}
for(i=0;i<kst;i++){
 for(j=0;j<26;j++){
 if(sn[i]==j)
 shifr[i]=alf[j];}}
for(i=0;i<kst;i++){
cout<<shifr[i];}
return 0;
}


Спасибо за Вашу помощь!

Это сообщение отредактировал(а) Gilm - 30.5.2011, 12:00
PM MAIL   Вверх
Gilm
Дата 30.5.2011, 16:51 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 29.5.2011

Репутация: нет
Всего: нет



неужели надо писать "за wmz/wmr", чтобы тебе помогли smile 
PM MAIL   Вверх
cutwater
Дата 30.5.2011, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 592
Регистрация: 24.6.2008

Репутация: 2
Всего: 10



Надо хотя бы код по-человечески отформатировать, привести к читабельному виду. Чтобы от одного взгляда блевать не хотелось.


--------------------
user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0392 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.