Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
zer4
0 / 0 / 0
Регистрация: 25.07.2010
Сообщений: 40
#1

Шифрование/Дешифрование - C++

03.12.2014, 21:32. Просмотров 969. Ответов 9
Метки нет (Все метки)

Не получается выполнить последний пункт на Дешифровании(после замены) превратить цифры с буквы. Подскажите алгоритм пожалуйста. Именно этой функции:
C++
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
void __fastcall TForm1::Button4Click(TObject *Sender).
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
char str[34]="АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
char str2[200]="010203040506070809101112131415161718192021222324252627282930313233";
AnsiString dannye;
AnsiString dannye2;
 
void __fastcall TForm1::Button1Click(TObject *Sender)         {
dannye=Edit1->Text;
char* str1 = dannye.c_str();
for (int i=0; i<=strlen(str1); i++)   {
for (int j=0; j<=strlen(str); j++) {
if (str1[i]==str[j]) Edit2->Text=Edit2->Text+str2[j*2]+str2[j*2+1];
                                    }
                                      }
                                                              }
void __fastcall TForm1::Button3Click(TObject *Sender)
{
 dannye2=Edit2->Text;
 char* str3 = dannye2.c_str();
int k=0;
char t;
while(k<strlen(str3))
                     {t=str3[k];
                      str3[k]=str3[k+1];
                      str3[k+1]=str3[k+2];
                      str3[k+2]=t;
                      k=k+3;
                     }
                      Edit3->Text=str3;
 
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button2Click(TObject *Sender)
{
dannye2=Edit4->Text;
 char* str3 = dannye2.c_str();
int k=0;
char t;
while(k<strlen(str3))
                     {t=str3[k];
                      str3[k]=str3[k+2];
                      str3[k+2]=str3[k+1];
                      str3[k+1]=t;
                      k=k+3;
                     }
                      Edit5->Text=str3;
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button4Click(TObject *Sender)
{
dannye=Edit5->Text;
char* str1 = dannye.c_str();
for (int i=0; i<=strlen(str1); i++)   {
for (int j=0; j<=strlen(str2); j++) {
if ((str1[i]+str1[i+1])==(str2[j]+str2[j+1])) Edit6->Text=Edit6->Text+str[j]/2;
                                    }
                                      }
}
//---------------------------------------------------------------------------
0
Миниатюры
Шифрование/Дешифрование  
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.12.2014, 21:32
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Шифрование/Дешифрование (C++):

Шифрование и дешифрование - C++
Помогите написать программу, которая будет шифровать и дешифровать матррицу.

Шифрование и дешифрование на Cи - C++
не получается зашифровать текст и получить буквы из кода. Попалась вот такая задача: Составить программу, которая вводит строку текста,...

Шифрование и дешифрование текста - C++
Народ вот програма для шифрования текста мне нужно переделать так штоб били подпрограми: 1) на меню пользователя cout&lt;&lt;&quot; Меню...

XOR шифрование/дешифрование - C++
Всем привет. Пож-ста помогите написать программу, шифрующую/дешифрующую xor маску. 2 Примера : N1 из FF FF FF FF D2...

Шифрование и дешифрование файла - C++
4. Реализовать в программе шифрование и дешифрацию файла с использованием квадрата Полибия, обеспечив его случ помогите срочно нужно...

Шифрование/дешифрование методом Цезаря - C++
посмотрите пжлст код на c++, если что укажите на ошибки и т.п. сильно не разбираюсь Если не трудно помогите подкорректировать) #include...

9
zer4
0 / 0 / 0
Регистрация: 25.07.2010
Сообщений: 40
03.12.2014, 21:39  [ТС] #2
Скрин программы
0
Миниатюры
Шифрование/Дешифрование  
zer4
0 / 0 / 0
Регистрация: 25.07.2010
Сообщений: 40
03.12.2014, 23:54  [ТС] #3
Ну или так поставлю задачу. Имеется массив символов, значение которого берется из Edit->Text;
C++
1
2
3
AnsiString dannye2;   
dannye=Edit5->Text;
char* str1 = dannye.c_str();
Каждой букве алфавита соответсвует свое число. Букве А-01, Б-02, В-03...Я-33.
Массив представляет собой совокупность символов например такого вида: (010403) или (3202), что соответсвует значениям (АГВ) или (ЮБ), нужно разработать алгоритм перевода чисел в буквы.
0
nmcf
6207 / 5518 / 1932
Регистрация: 14.04.2014
Сообщений: 23,169
04.12.2014, 09:38 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
char* str1 = dannye.c_str();
char s2[3];
s2[2] = '\0';
for (int i = 0; i < strlen(str1); i += 2)
{
    strncpy(s2, str1 + i, 2);
    Edit6->Text += str[atoi(s2) - 1];
}
1
zer4
0 / 0 / 0
Регистрация: 25.07.2010
Сообщений: 40
04.12.2014, 13:43  [ТС] #5
Спасибо за ответ! Но я мало что понял. Вставил в процедуру - не работает.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void __fastcall TForm1::Button4Click(TObject *Sender)
{
dannye=Edit5->Text;
char* str1 = dannye.c_str();
char s2[3];
s2[2] = '\0';
for (int i = 0; i < strlen(str1); i += 2)
{
    strncpy(s2, str1 + i, 2);
    Edit6->Text += str[atoi(s2) - 1];
}
}
//---------------------------------------------------------------------------

nmcf, Подскажи пожалуйста, что не так?
0
nmcf
6207 / 5518 / 1932
Регистрация: 14.04.2014
Сообщений: 23,169
04.12.2014, 15:09 #6
В какой строке ошибка?
0
zer4
0 / 0 / 0
Регистрация: 25.07.2010
Сообщений: 40
04.12.2014, 15:43  [ТС] #7
nmcf, ошибки нет, прост в Edit ничего не выводит
0
nmcf
6207 / 5518 / 1932
Регистрация: 14.04.2014
Сообщений: 23,169
04.12.2014, 16:40 #8
Смотри отладчиком цикл: что в s2 и в str1.
0
zer4
0 / 0 / 0
Регистрация: 25.07.2010
Сообщений: 40
04.12.2014, 22:39  [ТС] #9
А что означают данные выражения?
strncpy(s2, str1 + i, 2);
str[atoi(s2) - 1]
0
nmcf
6207 / 5518 / 1932
Регистрация: 14.04.2014
Сообщений: 23,169
05.12.2014, 08:15 #10
Скопировать 2 символа из строки str1 в s2.
Выбрать нужную букву из массива с алфавитом, используя содержимое s2 как индекс с предварительным преобразованием в число.
0
05.12.2014, 08:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.12.2014, 08:15
Привет! Вот еще темы с ответами:

Шифрование и дешифрование методом Цезаря - C++
Здравствуйте. Не работает шифрование и дешифрование. Если выводить в шифровке расположение букв числами, то они отрицательные....

Шифрование/дешифрование методом Цезаря - C++
Имеется код, который зашифровывает написанное методом Цезаря. Нужна помощь: как добавить сюда дешифрование? // хз.cpp : main project...

Шифрование / дешифрование методом Цезаря - C++
Доброго времени суток, форумчане! Да-да, на форуме 100500 подобных тем, однако интересующей меня информации я не нашёл. У меня есть...

Шифрование и дешифрование символьной строки - C++
Доброй ночи. есть код, все правильно написано, но выдает ошибку в строке: copy( istream_iterator &lt; string &gt;( ist ), istream_iterator &lt;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru