Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 10
1

Зашифровать слово по имеющемуся алфавиту (своему)

26.03.2014, 21:24. Показов 522. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Требуется зашифровать слово по имеющемуся алфавиту(своему),для этого вводится строка из символов например "abc", определяется их положение в алфавите и шифруется циклическим образом смещение по алфавиту на значение расположения символа в алфавите.Так "abc" принимают значение "123" ,которые записываются в динамический массив.
Все бы хорошо, но в итоговом тексте не шифруются 3 символа, более того выводит "НННbdf240c"(начальный текст "abc123beer")
"HHH" проверяю какие значения они принимают и почему-то это значения "=" все три..я в ступоре..как символы смогли принять значение "=" и что делать??
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
// Chipa.shifr+.cpp: главный файл проекта.
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
int main()
{
    char a[14]={' ','a','b','c','d','e','f','r','1','2','3','4','5','0'};
    char b;
    int n=0,k,j,i=0;
    char *key;
    key=new char[80];
    cout<<"kluch"<<endl;
    cin>>key;
    int count=strlen(key);
    int *c;
    c=new int[count];
    for (i=0;i<count;i++)
        for (j=0;j<14;j++)
            if (key[i]==a[j])
            {c[i]=j; break;}
    ifstream f;
    f.open ("text.txt");
    while (f.good())
    {f.get(b);
        n++;}
    k=n-1;
    f.close();
    char *g;
    g=new char[n];
    f.open ("text.txt");
    while (f.good())
    {f.get(b);
        *(g+i)=b;
        if (i<k)
    i++;}
    f.close();
    ofstream h;
    int m=0;
    for (i=0;i<k;i++)
        for (j=0;j<14;j++)
            if (g[i]==a[j])
    {if (m>=count)
    m=0;
    j=(j+c[m])%14;
    m++;
    g[i]=a[j];
    break;}
            cout<<g[0];
    h.open("text1.txt");
    for (i=0;i<k;i++)
    h<<g[i];
    h.close();
    delete []g;
    delete []c;
    delete []key;
    system("PAUSE");
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.03.2014, 21:24
Ответы с готовыми решениями:

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

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

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

Текстовые файлы: Зашифровать текст, заменив каждое его слово на слово - "перевертыш"
Дан файл, содержащий некоторый текст (например, предложение). Зашифровать текст, заменив каждое его...

0
26.03.2014, 21:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.03.2014, 21:24
Помогаю со студенческими работами здесь

Зашифровать слово
В Edit записывается слово (Edit2.Text = 'бла бла тру ля ля ') then При открытии проекта, как...

Сформулировать слово и зашифровать его
Из символов вводимых пользователем с клавиатуры, пока не введен пробел, сформулировать слово и...

Зашифровать текст путем сдвига каждой буквы на 2 буквы по алфавиту
Задан текст. Создать программу, которая зашифрует текст путем сдвига каждой буквы на 2 буквы по...

Зашифровать слово по способу Цезаря в Delphi
Шифры простой замены. Система шифрования Цезаря частный случай шифра простой замены. Метод основан...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru