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

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

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

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

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

Требуется зашифровать слово по имеющемуся алфавиту(своему),для этого вводится строка из символов например "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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.03.2014, 21:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Зашифровать слово по имеющемуся алфавиту (своему) (C++):

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

Дан массив из слов (в одной строке одно слово). Зашифровать текст, меняя порядок букв в словах на обратный - C++
помогите

Исправить ошибку. Программа находит в введенном тексте слово, в котором буквы идут по алфавиту - C++
Программа находит в введенном тексте слово, в котором буквы идут по алфавиту и выводит его на экран. Написала программу, но она работает...

Строки. Вывести на печать то слово этой строки, которое по алфавиту предшествует всем другим - C++
Дана строка из 20 различных слов (словом считается любой набор букв, за которым следует пробел). Вывести на печать то слово этой строки,...

Метод, возвращающий данные по имеющемуся ключу массива MAP - C++
Исходный код: #include &lt;string&gt; #include &quot;map.h&quot; class Recipe{ protected: AnsiString name_recipe; //название...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.03.2014, 21:24
Привет! Вот еще темы с ответами:

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

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

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

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


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

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

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