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

Шифрование/Дешифрование - теряются два символа - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Неправильно работает cout для чисел типа double и float http://www.cyberforum.ru/cpp-beginners/thread793201.html
Здравствуйте. Скажите, почему эта программа выводит на экран число 2, а не 2.5 ? #include <iostream.h> int main() { double k=5/2; cout << k <<"\n"; }
C++ Вывод данных в файл Здравствуйте. Подскажите пожелуйсто как можно вывести данные в файл. Например я создал программу с неким списком и нужно сделать так, чтобы программа этот список сохранилабы в какомнибудь текстовом документе наприме. Ктонибудь знает сдесь как это можно сделать? http://www.cyberforum.ru/cpp-beginners/thread793189.html
C++ Упорядочить каждую строку матрицы по возрастанию абсолютных величин
Здравствуйте , помогите пожалуйста, надо упорядочить каждую строку матрицы по возрастанию абсолютных величин, затем составить программу для сортировки массива данных методами: пузырьковой, отбора, вставки, Шелла и быстрой сортировки. Вывести на экран неупорядоченные и упорядоченные (для каждого из методов) массивы данных, число сравнений и перестановок переменных в каждом методе сортировки....
Работа с Unicode (Не знаю!) C++
Всем доброго времени суток. Ребята помогите мне с написанием этой программы (или подскажите с какого краю к ней подходить и какие команды использовать, так как у меня скудный запас знаний): Написать программу на языке С++ для поиска вхождений символов алфавита и их сочетаний из двух символов в текстовом файле. Необходимо выбрать известный естественный европейский язык (немецкий, французский...
C++ exception EEFFACE http://www.cyberforum.ru/cpp-beginners/thread793144.html
Есть такая проблема: Работаю в Borland C++ Builder 6 В коде поочерёдно создаются и заполняются 2 массива по 198млн int значений для обьявления массивов использую: static unsigned int *ResIn = new unsigned int static unsigned int *ResOut = new unsigned int ; на строке с обьявлением второго массива выдаёт ошибку: array.jpg если ОК и запустить дальше выдаёт : array2.jpg При меньших...
C++ указатель на двумерный массив Делая игру морской бой, я столкнулся с 1-ой проблемой: void place_ships(char &(&(map+13)+29)) //или (char **map) или (char &map) или (char &&map) и тд... { if(map==" "){map='*';} ... } int main() { подробнее

Показать сообщение отдельно
myxasa
14 / 14 / 1
Регистрация: 31.05.2012
Сообщений: 210
Записей в блоге: 2
23.02.2013, 19:22     Шифрование/Дешифрование - теряются два символа
Теряются два последних символа при декодировании ( если в цикле i <= size сделать, то 1 символ только) (см. скрин):
C++
1
2
3
4
5
    string str = "djxgcjgfjkgykyjgfmgfmymygkuhku";
    cout<<str<<endl;
    string crypt = encrypt(str);
    cout<<crypt;
    cout<<endl<<decrypt(crypt);
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
string encrypt(string str){
    string result;
    string ch;
    string kch;
 
    string pass = "%*#^d&^&ggfw3";
    int size = str.length();
    for(int i = 1; i < size; i++)
    {
        ch = substr(str,i-1,1);
        kch = substr(pass,(i%pass.length())-1,1);
        result += (char)((int)ch[0]+(int)kch[0]);
    }
    return result;
 
}
string decrypt(string str){
    string result;
    string ch;
    string kch;
 
    string pass = "%*#^d&^&ggfw3";
 
    int size = str.length();
    for(int i = 1; i < size; i++)
    {
        ch = substr(str,i-1,1);
        kch = substr(pass,(i%pass.length())-1,1);
        result += (char)((int)ch[0]-(int)kch[0]);
    }
    return result;
}
C++
1
2
3
4
5
6
7
8
9
10
11
string substr(const string &str, int start)
{
    return substr(str,start,str.length());
}
string substr(const string &str, int start, int length)
{
    if (start  < 0 ) start+=str.length();
    if (length < 0 ) length=str.length()+length-start;
    if (length < 0 ) return "";
    return str.substr(start,length);
}
Миниатюры
Шифрование/Дешифрование  - теряются два символа  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru