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

Шифрование "Лозунговым методом" (кому интересно) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Выражение с суммами http://www.cyberforum.ru/cpp-beginners/thread818637.html
Необходимо посчитать выражение с 2-мя суммами a+Ʃ(2*l^3+3*l^2+1) 2+Ʃ(k^2+2) для l от 2 до n и k от 3 до m вот, что получилось у меня #include <stdio.h> #include <math.h> #define N 100 int main() {
C++ Подпрограммы в программе Добрый день! помогите пожалуйста добработать программу, что бы на начальном экране при запуске появлялось меню подпрограмм 1.titulnaia ramka 2.arifmeticheckie virazheniaя 3.vetvleniaя 4.massivi 5. matrichiя 6.rachet treugolnika 7.funkchia 8.exit http://www.cyberforum.ru/cpp-beginners/thread818630.html
Вычислить прощадь фигуры C++
Как узнать площадь заштрихованной фигуры в C++ ? Необходимые данные ввести самостоятельно.
C++ Векторы и матрицы
Требуется создать шаблонные классы для работы с векторами и матрицами, содержащими элементы произвольного типа. Требования: 1. Определить шаблоны вектора и матрицы. 2. Определить конструкторы копирования. 3. Переопределить операции: a. вывода в стандартный поток ввода-вывода; b. индексации элементов; 4. Определить методы для: a. ввода с клавиатуры; b. заполнения случайными...
C++ Вычислить значение примера http://www.cyberforum.ru/cpp-beginners/thread818617.html
Задание во вложении.
C++ STL очередь Доброго времени суток!:) Изучаю STL и решил сделать класс для работы с очередью, и получилось что-то вроде этого... сильно не кричите, только начал изучать // obr.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <iostream> #include <queue> #include <algorithm> #include <locale> подробнее

Показать сообщение отдельно
cxemuch205
1 / 1 / 1
Регистрация: 31.10.2012
Сообщений: 46

Шифрование "Лозунговым методом" (кому интересно) - C++

26.03.2013, 01:40. Просмотров 1441. Ответов 7
Метки (Все метки)

Вот работа была сделал -> делюсь
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
92
93
94
95
96
97
98
99
#include <stdio.h>     
#include <conio.h>      
#include <string.h>     
#include <locale.h>     //Шифрование лозунговым методом
 
void uncodetext(char arr1[], char arr2[], char arr3[]);
const int N = 100; 
char A[27]="abcdefghijklmnopqrstuvwxyz",  output[N], untext[N], A2[27]="abcdefghijklmnopqrstuvwxyz";
 
int main()
{
    setlocale(LC_ALL, "RUS");
    char input[N], loz[N], buf[N], buf1[N]; 
    int i=0, j=0, n=0, n1, pr, index, n2=0;
    printf("Ведите лозунг(eng): "); gets(loz);
    printf("Введите текст для шифровки(eng): ");    gets(input);
    pr = strlen(input); //К-ство символов вводимого текста (слова)
    strcpy(buf, loz);
    strcpy(buf1, loz);
    n = strlen(buf); n++; n1 = strlen(buf);
    char *s1; int k;
    //Проверка лозунга на уникальность букв в нем
    for(i=0; buf1[i]!='\0'; i++)
    {
        k=0;
        for(j=n2; buf[j]!='\0'; j++)
        {
            if(buf1[i]==buf[j]) k++;
            if(k>1) {printf("\n\t%c\n", buf1[i]); n2=j+1; buf1[i]='0'; break;}
        }
    } n2=0;
    for(i=0; buf1[i]!='\0'; i++)
        if(buf1[i]!='0')
        {
            buf[n2]=buf1[i];
            n2++;
        }
    for(i=strlen(A)-1; i>=0; i--) //Создаем строку для дальнейшего шифрования
    {
        for(int t=0; buf[t]!='\0'; t++) //Проверка на уникальность букв
            if(A[i]==buf[t]) {k=1; A[i]='\0'; break;} else k=0;
        if(k==0)
        {
            s1 = &A[i];
            strcat(buf, s1);
            n++;
            *s1='\0';
        }
    }
    n1=0;
    for(i=0; input[i]!='\0'; i++) //зашифровуем текст
    {
        if(pr<10) {printf("\n\tСлово содержит менее 10 символов\n"); break;}
        for(j=0; A2[j]!='\0'; j++)
        {
            if(A2[j]==input[i])
            {
                index=j;
                output[n1]=buf[index];
                n1++;
            }
        }
        if(input[i]==' ')
        {
            output[n1]='#';
            n1++;
        }
    }
    if(pr>=10)
    {
        printf("\nЗашифрованый текст: [%s] ", output);
        //=========Расшифровка=========//
        uncodetext(output, buf, A2);
    }
    getch();
}
 
void uncodetext(char output[], char buf[], char A[])
{
    int i=0, j=0, n=0, index=0;
    for(i=0; output[i]!='\0'; i++)
    {
        for(j=0; buf[j]!='\0'; j++)
        {
            if(output[i]==buf[j])
            {
                index=j;
                untext[n]=A[index];
                n++;
            }           
        }
        if(output[i]=='#')
        {
            untext[n]=' ';
            n++;
        }
    }
    printf("\n\n\tВывод разшифрованого текста: "); puts(untext);
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 05:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru