Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.10.2021, 16:38   #1
nonameii3ii
Пользователь
 
Регистрация: 16.04.2021
Сообщений: 73
По умолчанию метод классического шифрования(метод перестановок)

Доброго времени суток,задание: реализовать метод шифрования,а именно метод перестанановок,вот то что написал я.Осталось одно не пойму как при расшифровке использовать зашифрованое слово,а не изначально заданое,буду очень рада совету
Код:
#include <iostream>
#include <cstring>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h> 
using namespace std;
void Qeer(char q[500]) 
{
 
 
    char massiv[100][100];
    int b, c;
    int count = 0;
    cout << "\nИсходное слово: ";
 
    int amount = strlen(q);
    cout << "\n\t\t\tКоличество символов: " << amount << endl;
    cout << "\n\t\t\tВвести ключ (M x N) " << endl << "\n";
    cout << "Ввести кол-во строк: ";
    cin >> b;
    cout << "Ввести кол-во столбцов: ";
    cin >> c;
 
    for (int i = 0; i < b; i++)
    {
        for (int j = 0; j < c; j++)
        {
            massiv[i][j] = q[count];
            count++;
        }
    }
 
    cout << "Зашифрованное слово: ";
 
    for (int j = 0; j < c; j++)
    {
        for (int i = 0; i < b; i++)
        {
            cout << massiv[i][j];
               
 
        }
    }
    cout << endl;
 
}
void Rentable(char q[500]) {
    cout << "\t\t\tРассшифровка";
    int n, m;
 
    char massiv[100][100];
    int count = 0;
 
    cout << "\nИсходное слово: ";
    cin >> q;
    int amount = strlen(q);
    cout << "\n\t\t\tКоличество символов: " << amount << endl;
    cout << "\n\t\t\t" << "  Ввести ключ (M x N) " << endl << "\n";
    cout << "Ввести кол-во строк: ";
    cin >> m;
    cout << "Ввести кол-во столбцов: ";
    cin >> n;
 
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            massiv[i][j] = q[count];
            count++;
        }
    }
 
    cout << "Дешифрованное слово: ";
    for (int j = 0; j < m; j++)
    {
        for (int i = 0; i < n; i++)
        {
            cout << massiv[i][j];
            
        }
    }
 
}
int main()
{
    setlocale(LC_ALL, "rus");
    char q[500],w[500];
    
    cout << "Введите слово для шифровки:" << endl;
    cin >> q;
 
 
    int input = 0;
 
    cout << "1. Зашифровать\n";
    cout << "2.Расшифровать \n";
    cout << "3. Exit\n";
    while (input < 3) {
        cout << endl << "Выбирите действие: ";
        cin >> input;
        switch (input) {
        case 1:
            Qeer(q);
 
            break;
        case 2:
            Rentable(q);
            
            break;
        case 3:
            cout << "Досвидания!)\n";
            break;
        }
    }
}
nonameii3ii вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Составьте в среде TPascal код программы, реализующей метод простых перестановок I am Russia Паскаль, Turbo Pascal, PascalABC.NET 7 21.01.2015 11:52
Метод перебора, Метод дихотомии, Метод золотого сечения Delphi !!! OneBri Помощь студентам 0 03.10.2012 08:42
Метод шифрования данных Pudge Помощь студентам 4 09.02.2012 11:11
Метод шифрования Sanek_ntsk Общие вопросы Delphi 1 29.03.2011 14:11