Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Dmitry_V
1 / 1 / 2
Регистрация: 30.11.2014
Сообщений: 67
#1

шифрование по ключу матрицы 3х4

19.10.2016, 20:12. Просмотров 359. Ответов 2
Метки нет (Все метки)

необходимо ввести строку для кодирования
далее строка посимвольно записывается в матрицу по строкам
и чтобы получить шифр, необходимо прочитать матрицу по столбцам

соответственно дешифрация производится с точностью до наоборот

проблема в следующем:
когда я записываю элементы матрицы в строку, то записываются не все элементы, а именно он останавливает запись в строку, когда появляются пустые элементы

думал проблема в <<cout что он выводит строку до /0 символа, но нет

не понимаю в чем проблема

буду рад любым догадкам

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
#include <iostream>
#include <string>
#include <stdio.h>
using namespace std;
 
int row = 3;
int column = 4;
int k = 0, k1 = 0;
char str[100];
char p_str[100];
char matrix [3][4];
 
 
int main()
{
 
    cout << "Enter string:   ";               
    cin.getline(str, 100); 
    int l = strlen(str);
 
    while (l >= 0)
    {
 
    l -= 12;
 
    for ( int i = 0; i < row; i++)
        {for ( int j = 0; j < column; j++)
            {matrix [i][j] = str[k];
            k++;}}
 
    for ( int i = 0; i < row; i++)
        {for ( int j = 0; j < column; j++)
            cout << matrix [i][j] << '\t';
            cout << endl;}
 
    k = k1;
 
    for ( int j = 0; j < column; j++)
        {for ( int i = 0; i < row; i++)
            {p_str[k] = matrix [i][j];
            k++;}}
 
    k1 = k;
    }
 
    //cout << endl << str << " -----> " << p_str << endl;
    puts(p_str);
 
    return 0;
 
}
Добавлено через 28 минут
top

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2016, 20:12
Ответы с готовыми решениями:

Вектор, каждый элемент которого равен сумме индексов исходной матрицы, равного ключу поиска
Здравствуйте, помогите пожалуйста решить задачку. Задана матрица произвольной...

Шифрование умножением на бинарные матрицы
Пытаюсь получить сделать шифрование на бинарные матрицы.Получился вот такой вот...

Матрица 3х4.
Дана матрица целых чисел размером 3x4. Отсортировать каждый столбец матрицы...

Шифрование данных с использованием квадратной матрицы третьего порядка
мне нужно создать программу для шифрования данных с использованием квадратной...

Поменять 1 и 2 столбцы в заданой матрице 3Х4
Подскажите где в коде допустил ошибку #include &quot;stdafx.h&quot; #include...

2
UltraPenguin
229 / 95 / 27
Регистрация: 20.03.2014
Сообщений: 304
Завершенные тесты: 1
19.10.2016, 20:16 #2
Во-первых, если у вас есть какие-либо ограничения интерфейса, то по правилам хорошего тона следует сообщать об этом пользователю. То есть если у вас входная строка может быть максимум 100 символов длинной, то и пишите приглашение на ввод типа "Enter string (max 100 characters): ".
Во-вторых следует предварительно проинициализировать массивы, например, нулями, чтобы в них не было мусора.
Как вы поняли, что у вас
Цитата Сообщение от Dmitry_V Посмотреть сообщение
он останавливает запись в строку, когда появляются пустые элементы
? Вот если бы вы выполнили пошаговую отладку, то заметили бы что ничто никто не останавливает.

Сделайте вместо puts так:

C++
1
2
for ( int i = 0; i < k; i++)
        cout << p_str[i];
1
Dmitry_V
1 / 1 / 2
Регистрация: 30.11.2014
Сообщений: 67
19.10.2016, 20:30  [ТС] #3
спасибо большое за замечания
все исправил, буду становиться лучше)

все работает, спасибо!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.10.2016, 20:30

На телефоне есть поле из 12 точек: 3х4,сколько существует комбинаций, если палец должен пройти 8 отрезков?
мальчики помогите, не могу решить задачу. очень нужна ваша помощь. На...

Составить программу умножения матриц А(3Х4) и В(3х4). Элементы матрицы – действительные числа
Составить программу умножения матриц А(3Х4) и В(3х4). Элементы матрицы –...

RSA шифрование по публичному ключу
Пытаюсь авторизоваться в Steam. Раньше я использовал модуль &quot;rsacalc&quot; ...


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

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

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