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

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

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

Неправельно работает функция шифрование - C++

21.04.2014, 17:45. Просмотров 129. Ответов 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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <iostream>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"Russian");
    string str = "отогнуть воротник";
    string strr = ""; // для пробелов
    string str_w = ""; // для звездочек
    string str_result = "";
    char matrix[5][5];
    char matrixres[5][5];
    int KEY = 3;
 
 
    //Функция удаления пробелов
    for(int i = 0; i < str.length(); i++) {
 
        if(str[i] != ' ')
            str_w = str_w + str[i];
 
    }
 
    str = str_w;
 
    //Функция добавления символа для четности элементов
    for(int i = 0; i < str.length(); i++) {
 
        if(str.length() / 2 != 0)
            strr = str + '*';
 
    }
    str = strr;
    cout << str;
 
    // Запись в квадрат
    cout << "Заполнение квадрата:\n";
    for(int i = 0; i < str.length() / KEY; i++) {
        for(int j = 0; j < KEY; j++) {
 
            matrix[i][j] = str[i * KEY + j];
            cout << matrix[i][j] << " ";
 
        }
        cout << endl;
    }
 
    cout << "\nЗашифрованный квадрат:\n";
    // переворот матрицы
    for(int i = 0; i < str.length() / KEY; i++) {
        for(int j = 0; j < KEY; j++) {
 
            matrixres[i][j] = matrix[j][i];
            cout << matrixres[i][j] << " ";
            str_result += matrixres[i][j];
 
        }
        cout << endl;
    }
 
    cout << "\n\nЗащифрованная строка: " << str_result;
 
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2014, 17:45     Неправельно работает функция шифрование
Посмотрите здесь:

Оператор bool неправельно работает! - C++
Начал изучать С++ и решил написать чето сое, чето несино сложное. Почти сразу сталкнулся с проблемой, вот код: #include &lt;iostream&gt; ...

Неправельно работает конструктор(наверно) - C++
Вот класс и вот конструктор думаю знающие люди разберутся я создаю 1 элемент класса точнее указатель first на элемент который будет...

Шифрование XOR не работает с кириллицей - C++
Проблема и никак не могу решить. Функция XOR возвращает при исходной строке &quot;съешь еще этих мягких мексиканских кактусов да выпей...

Шифрование текста алгоритмом Виженера не работает с кириллицей - C++
Код должен шифровать текст алгоритмом Виженера. Но не работает, на латинице работал, когда начал переводить на кирилицу текст после...

Не работает функция в С++ - C++
Всем привет! Вот мне надо написать функцию, которая находит максимальное среди трёх введённых чисел. Я вот накинул программку и прошу...

Не работает функция! - C++
Получает имя файла и возвращает позицию слова наибольшей длины. На экран выводится слово наибольшей длины. Но почемуто функция не работает!...

Не работает функция - C++
#include &lt;iostream&gt; using namespace std; int main() { system(&quot;color 4&quot;); base(4); system(&quot;pause&quot;); return...

Не работает функция - C++
Добрый день. Потихоньку изучаю ООП. И столкнулся с такой проблемой: Есть два файла: 1)#include &quot;BOOK.h&quot; int main() { ...

Не работает функция gets() - C++
Компилятор не розпознает функцию gets(); Это пример из книги Г.Шилдта &quot;С++: базовый курс&quot;. #include&lt;iostream&gt; ...

Не работает функция if - C++
Я не совсем понимаю, как мне заставить if сравнить значение переменной output1 с заданной заранее строкой. А после нахождения совпадения,...

не работает функция! - C++
Задание таково: &quot;площадь треугольника, заданного координатами своих вершин, находится по формуле S=0.5*lx1y2+x2y3+x3y1-x1y3-x2y1-x3y2l...

Не работает функция - C++
// Example program #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;cmath&gt; using namespace std; int main() { float x=0.2; ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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