Форум программистов, компьютерный форум CyberForum.ru

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

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

шифрование лозунгом - C++

05.04.2012, 19:17. Просмотров 646. Ответов 1
Метки нет (Все метки)

Есть алфавит abcdefg вводим лозунг def , конечный алфавит получается defabcg.
К примеру если нужно зашифровать ced, то получится fba.
Нужно сделать так:
заменить буквы алфавита на буквы конечного алфавита и зашифровать слово.
{a}={d}
{b}={e}
{c}={f}
{d}={a}
........
лозунг может вводится любой. Этап составления конечного алфавита есть, а вот как заменять буквы а из них составлять слово не знаю.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.04.2012, 19:17     шифрование лозунгом
Посмотрите здесь:

Шифрование - C++
Как возможно проверить, насколько надежно шифрование?

Шифрование - C++
Привет всем:) особенно тем кто в этот день тратит свое время на программирование:) Помогите решить такую задачу. Есть целое число "1234"....

Шифрование - C++
Собственно, вопрос не совсем по си++, но нашел это место оптимальным. Так вот, речь пойдет о шифровании. А точнее: стоит ли уповать на...

Шифрование - C++
Создать выходной зашифрованный файл на основе входного. Шифрование файла выполняется по следующему правилу: в каждом слове строки первый...

Шифрование - C++
я написал код шифрования #include <iostream> #include <fstream> #include <string> using namespace std; main() { //~...

шифрование - C++
помогите пожалуйста написать пргорамму!!! была бы очень благодрна!!! шифрование. один из методов шифрования называется...

Шифрование - C++
Доброго времени суток, сегодня весь день сидел и пытался разобрать задачу. Задается натуральное число k и перестановка чисел 1, ... , k...

c++ шифрование - C++
Необходимо программно реализовать на языке C++ алгоритм шифра по Диффи – Хеллману с открытым ключом. Понятия не имею с чего начать....

Шифрование файла - C++
Добры день. Нашел вот такой код: #include<iostream> #include<fstream> using namespace std; int main() { //ifstream...

Шифрование/Дешифрование - C++
Не получается выполнить последний пункт на Дешифровании(после замены) превратить цифры с буквы. Подскажите алгоритм пожалуйста. Именно этой...

Шифрование информации - C++
Задание № 2. Тема "Шифрование информации" Выполнять шифрование заданным методом выбранного пользователем файла Таблица 1 с...

Задачка на шифрование - C++
Не нашёл тему, куда можно было бы задать этот вопрос. В общем решал логические задания и этот вопрос меня ввел в ступор, не могли бы помочь...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrCold
852 / 750 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
06.04.2012, 13:32     шифрование лозунгом #2
almostclever, программа работает так :
Во вводимом слогане(лозунге) символы не должны повторяться.
Если ввели повторяющиеся символы - появится предупреждение "Ошибка!!!"
Ввод нужно повторить .
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
79
80
81
82
83
84
85
86
87
88
89
90
91
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
 
     int correct(char *str);
     void new_alph (char *alph, char *new_alph);
     void code(char *codealph,char *copyalph,char *word);
 
 
int main(){
 
    char alphabet[250]="abcdefghijklmnopqrstuvwxyz";
    char copyalph[250];
    char new_alphabet[250] = "";
    char word[20] = "";
 
                      /*printf("Enter a alphabet\n");*/
                        /*scanf("%s",alphabet);*/
 
                                  /* КОПИЯ АЛФАВИТА */
                           strcpy(copyalph,alphabet);
                           printf("Alphabet\n"); 
                           puts(copyalph);
 
                          /* ВВОД СЛОГАНА ДЛЯ НОВОГО АЛФАВИТА */
                          do{
                          printf("\nEnter a slogan\n"); 
                          scanf("%s",new_alphabet);
 
                          /* ПРОВЕРКА НА ПОВТОРЯЮЩЕЕСЯ СИМВОЛЫ ВО ВВЕДЕННОМ СЛОГАНЕ  */
                          if(!correct(new_alphabet)) break;
                          puts("Error!!!");
                          }while(1);
 
                          /*   ФОРМИРУЕМ НОВЫЙ АЛФАВИТ    */
                          new_alph(alphabet,new_alphabet);
                          printf("\nNew coding alphabet\n");
                          puts(new_alphabet);
 
                           /* ВВОД СЛОВА  */
                          printf("\nEnter a word\n");
                          scanf("%s",word);
    
 
                          /* КОДИРУЕМ СЛОВО */
                           code(new_alphabet,copyalph,word);
                           printf("\nWord\n");
                           puts(word);
 
    system("pause");
 
}
 
/* ПРОВЕРКА НА ПОВТОРЯЮЩЕЕСЯ СИМВОЛЫ ВО ВВЕДЕННОМ СЛОГАНЕ  */
int correct(char *str){
                    size_t i, j, count = 0;
                    for(j = 0; str[j] != '\0';j++)
                         for(i = 0; str[i] != '\0';i++){
                             if(str[i] == str[j] &&i != j)
                             count ++;}
                               return count;
    }
 
                /*   ФОРМИРУЕМ НОВЫЙ АЛФАВИТ    */
          /*    УДАЛЯЕМ СИМВОЛЫ ВВЕДЕННОГО СЛОГАНА ИЗ АЛФАВИТА  */
void new_alph (char *alph, char *new_alph) {
    size_t k , i, j;
                   for (k = 0; new_alph[k] != '\0'; k++) { 
                   for (i = j = 0; alph[i] != '\0'; i++)
                          if (alph[i] != new_alph[k])
                                alph[j++] = alph[i];
                                    alph[j] = '\0';
    }
    /*   СОЕДИНЯЕМ СЛОГАН С 'ОБРЕЗАННЫМ' АЛФАВИТОМ  */
    strcat(new_alph,alph);
}
 
                  /* КОДИРУЕМ ВВЕДЕНОЕ СЛОВО   */
void code(char *codealph,char *copyalph,char *word){
 
    size_t i;
    char * pch;
                 for( i = 0;word[i] != '\0';i++) {
 
                       pch=strrchr(copyalph,word[i]);
                       word[i] = codealph[pch - copyalph];
   }
    
 
}
Yandex
Объявления
06.04.2012, 13:32     шифрование лозунгом
Ответ Создать тему
Опции темы

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