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

Исправить ошибки в программе и расшифровать строку - C++

Восстановить пароль Регистрация
 
Кэтти
0 / 0 / 0
Регистрация: 28.10.2012
Сообщений: 31
03.02.2013, 14:37     Исправить ошибки в программе и расшифровать строку #1
Исправить ошибки в программе и расшифровать строку:

//Требуется правильно расшифровать строку str, исправив ошибки в программе.
//Можно сделать до 15 правок (доб./уд. символов). Число русских букв в строках не должно уменьшиться.
Код
#include <iostream>
#include <string.h>
bool EtoRusBuk(char c){
    char *als = "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя";
    for (int i = 0; i < strlen(als); i++){
        if (c == als[i]) return true;
    }
    return false;
}
char* crypt(const char* s, int k){
    unsigned int sz = strlen(s)+1;
    char* es = new char[sz];
    strcpy_s(es, sz*sizeof(es[0]), s);//Копирование строки s в es, размером sz*(байт_на_символ) байт.
    for (int i = 0; i < strlen(s); i++){
        if (EtoRusBuk(es[i])){
            int t = es[i] + k;
            if (t>='я') t += 'А';//Русские буквы расположены по порядку и имеют отрицательные коды.
            if (t< 'А') t -= 'А';
            es[i] = t;
        }
    }
    return es;
}
void main(){
    setlocale(LC_ALL, ".1251");//Устанавливаем поддержку русского языка (1251 кодовая страница)
    char* str = "Сй хцджАцй рсй едппя, please!";
    int k=1412;
    char* ds = crypt(str, -k);
    std::cout << ds << std::endl;
    delete [] ds;
    system("pause");
}//Расшифрованная строка
Ниже напишите верный вариант и расшифрованную строку.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.02.2013, 14:37     Исправить ошибки в программе и расшифровать строку
Посмотрите здесь:

C++ Исправить ошибки в программе
C++ Исправить ошибки в программе
Исправить ошибки в программе на С++ C++
Исправить ошибки в программе C++
C++ Исправить ошибки в программе
Доделать и исправить ошибки в программе! C++
C++ Исправить ошибки в программе C++
C++ Помогите исправить ошибки в программе

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

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

Текущее время: 00:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru