Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

написать на с++ программу для Кода Цезаря, сдвиг на 3 буквы, чтобы в консоле конвертировал на 3 буквы вперед (алфавита) - C++

11.02.2013, 22:37. Просмотров 1008. Ответов 17
Метки нет (Все метки)

написать на с++ программу для Кода Цезаря, сдвиг на 3 буквы, чтобы в консоле конвертировал на 3 буквы(алфавита)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.02.2013, 22:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос написать на с++ программу для Кода Цезаря, сдвиг на 3 буквы, чтобы в консоле конвертировал на 3 буквы вперед (алфавита) (C++):

Строка: .Написать программу, определяющую в заданном тексте для каждой буквы алфавита количество ее употребления. - C++
1.Написать программу, определяющую в заданном тексте для каждой буквы алфавита количество ее употребления. Не могли бы вы помочь)

Нужно написать программу, печатающую все буквы латинского алфавита от Z до A - C++
Помогите пожалуйста! Нужно написать программу, печатающую все буквы латинского алфавита от Z до A.

Заменить все малые буквы латинского алфавита на соответствующие большие буквы - C++
Добрый вечер. Помогите, пожалуйста, исправить программу. Задание: Заменить все малые буквы латинского алфавита на соответствующие...

Файл содержит буквы латинского алфавита. Заменить буквы 'р' на 'w' - C++
Помогите с задачей.Файл содержит буквы латинского алфавита. Заменить буквы 'р' на 'w'.

В текстовом файле t записаны буквы латинского алфавита и цифры. Занести в текстовый файл h из текстового файла t только латинские буквы. - C++
В текстовом файле t записаны буквы латинского алфавита и цифры. Занести в текстовый файл h из текстового файла t только латинские буквы.

Предложение содержит буквы латинского и русского алфавитов. Вывести буквы только латинского алфавита - C++
Предложение содержит буквы латинского и русского алфавитов. Написать программу, которая выводит буквы только латинского алфавита в порядке...

17
xtorne21st
интересующийся
304 / 275 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
11.02.2013, 22:48 #2
Цитата Сообщение от AAK22 Посмотреть сообщение
написать на с++ программу для Кода Цезаря, сдвиг на 3 буквы, чтобы в консоле конвертировал на 3 буквы(алфавита)
Деталько опишите, что это такое "Код Цезаря" и что конкретно нужно сделать
1
AAK22
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 19
11.02.2013, 22:53  [ТС] #3
Код Цезаря - зашифрованный текст, составить программу, чтобы потом в консоле зашифрованный текст выводил в нормальном виде
0
xtorne21st
интересующийся
304 / 275 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
11.02.2013, 23:23 #4
Цитата Сообщение от AAK22 Посмотреть сообщение
Код Цезаря - зашифрованный текст, составить программу, чтобы потом в консоле зашифрованный текст выводил в нормальном виде
Покажите на примере, что должно вводиться с клавиатуры и выводиться на экране.
0
AAK22
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 19
11.02.2013, 23:27  [ТС] #5
Цитата Сообщение от xtorne21st Посмотреть сообщение
Покажите на примере, что должно вводиться с клавиатуры и выводиться на экране.
допустим наш алфавит АБВГДЕ.. и тд. с клавы вводишь "В" потом после нажатия клавишы "Enter" конвертируется в букву "Е" сдвиг на 2 буквы
0
hofmn
Helter Skelter
61 / 61 / 1
Регистрация: 19.09.2012
Сообщений: 133
11.02.2013, 23:32 #6
Работает только латиница:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string.h>
using namespace std;
 
int main()
{
        char buff[50] = {0};
 
        cout << "Шифровать: ";
        cin >> buff;
 
        for (unsigned int i = 0; i < strlen(buff); i++)
                buff[i] += 3;
                
        cout << "Результат: " << buff << endl;
        
        return 0;
}
1
AAK22
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 19
11.02.2013, 23:38  [ТС] #7
Цитата Сообщение от hofmn Посмотреть сообщение
Работает только латиница:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string.h>
using namespace std;
 
int main()
{
        char buff[50] = {0};
 
        cout << "Шифровать: ";
        cin >> buff;
 
        for (unsigned int i = 0; i < strlen(buff); i++)
                buff[i] += 3;
                
        cout << "Результат: " << buff << endl;
        
        return 0;
}
вот так, только вот желательно чтобы целые тексты расшифровывать, а не 1 букву)
0
xtorne21st
интересующийся
304 / 275 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
11.02.2013, 23:44 #8
Работает так-же с кириллицей
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
#include <locale> // optional
 
int main()
{
    std::locale::global(std::locale(""));
 
    std::wstring line;
 
    std::wcout << L"Введите строку: ";
    std::getline<wchar_t>(std::wcin, line);
 
    for (std::wstring::iterator i = line.begin(); i < line.end(); ++i)
        *i = *i + 3;
 
    std::wcout << line;
 
    return 0;
}
0
AAK22
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 19
11.02.2013, 23:47  [ТС] #9
Цитата Сообщение от xtorne21st Посмотреть сообщение
Работает так-же с кириллицей
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
#include <locale> // optional
 
int main()
{
    std::locale::global(std::locale(""));
 
    std::wstring line;
 
    std::wcout << L"Введите строку: ";
    std::getline<wchar_t>(std::wcin, line);
 
    for (std::wstring::iterator i = line.begin(); i < line.end(); ++i)
        *i = *i + 3;
 
    std::wcout << line;
 
    return 0;
}
3 ошибки error C2783: 'class std::basic_istream<_E,_Tr> &__cdecl std::getline(class std::basic_istream<_E,_Tr> &,class std::basic_string<_E,_Tr,_A> &)' : could not deduce template argument for '_Tr'
0
xtorne21st
интересующийся
304 / 275 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
11.02.2013, 23:52 #10
А вы чем компилируете?

Добавлено через 2 минуты
Попробуйте заменить 12 строку на:
C++
1
std::getline(std::wcin, line);
0
AAK22
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 19
11.02.2013, 23:57  [ТС] #11
Цитата Сообщение от xtorne21st Посмотреть сообщение
А вы чем компилируете?

Добавлено через 2 минуты
Попробуйте заменить 12 строку на:
C++
1
std::getline(std::wcin, line);
заменил, ошибок 0, запускается, но консоль ничего не читает, пишу букву и сразу закрывает
0
hofmn
Helter Skelter
61 / 61 / 1
Регистрация: 19.09.2012
Сообщений: 133
12.02.2013, 00:07 #12
Цитата Сообщение от AAK22 Посмотреть сообщение
вот так, только вот желательно чтобы целые тексты расшифровывать, а не 1 букву)
Не совсем понял, что вы имели в виду, но вот:

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
#include <iostream>
using namespace std;
 
int main()
{
        string buff, choise;
        
        cout << "[1] - шифровать, [2] - расшифровать" << endl
             << "Ваш выбор: ";
        cin >> choise;
        
        if (choise == "1")
        {
            cin.ignore();
            cout << "Шифровать: ";
            getline (cin, buff);
     
            for (unsigned int i = 0; i < buff.size(); i++)
                    buff[i] += 3;
                    
            cout << "Результат: " << buff << endl;
        }
        
        else if (choise == "2")
        {
            cin.ignore();
            cout << "Расшифровать: ";
            getline (cin, buff);
     
            for (unsigned int i = 0; i < buff.size(); i++)
                    buff[i] -= 3;
                    
            cout << "Результат: " << buff << endl;
        }
        else cout << endl << "Введите 1 или 2!";
        
        return 0;
}
0
AAK22
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 19
12.02.2013, 00:10  [ТС] #13
Цитата Сообщение от hofmn Посмотреть сообщение
Не совсем понял, что вы имели в виду, но вот:

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
#include <iostream>
using namespace std;
 
int main()
{
        string buff, choise;
        
        cout << "[1] - шифровать, [2] - расшифровать" << endl
             << "Ваш выбор: ";
        cin >> choise;
        
        if (choise == "1")
        {
            cin.ignore();
            cout << "Шифровать: ";
            getline (cin, buff);
     
            for (unsigned int i = 0; i < buff.size(); i++)
                    buff[i] += 3;
                    
            cout << "Результат: " << buff << endl;
        }
        
        else if (choise == "2")
        {
            cin.ignore();
            cout << "Расшифровать: ";
            getline (cin, buff);
     
            for (unsigned int i = 0; i < buff.size(); i++)
                    buff[i] -= 3;
                    
            cout << "Результат: " << buff << endl;
        }
        else cout << endl << "Введите 1 или 2!";
        
        return 0;
}
как выше написали до этого, также, но там если писать текст через пробел, то он конвертирует только слово до пробела, а в этой программе 6 ошибок
0
hofmn
Helter Skelter
61 / 61 / 1
Регистрация: 19.09.2012
Сообщений: 133
12.02.2013, 00:16 #14
Цитата Сообщение от AAK22 Посмотреть сообщение
как выше написали до этого, также, но там если писать текст через пробел, то он конвертирует только слово до пробела, а в этой программе 6 ошибок
Здесь работает и с пробелами.
У меня ошибок нет, странно.
0
AAK22
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 19
12.02.2013, 00:17  [ТС] #15
Цитата Сообщение от hofmn Посмотреть сообщение
Здесь работает и с пробелами.
У меня ошибок нет, странно.
не знаю, 6 ошибок..ладно и на том спасибо!
0
12.02.2013, 00:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.02.2013, 00:17
Привет! Вот еще темы с ответами:

Объявить два диапазонных типа: один буквы русского алфавита, второй буквы английского алфавита - PascalABC.NET
Объявить два диапазонных типа: один буквы русского алфавита, второй буквы английского алфавита. Вводится буква с клавиатуры - выводится к...

Написать программу, которая печатает все буквы латинского алфавита - Turbo Pascal
Добрый день. Нужна помощь, т.к пока не очень разбираюсь в Паскале, задание простенькое. Само задание: Написать программу, которая...

Написать программу, которая записывает в файл буквы английского алфавита - C (СИ)
Написать программу, которая записывает в файл буквы английского алфавита.

Написать программу, которая записывает в файл буквы английского алфавита - C (СИ)
Написать программу, которая записывает в файл буквы английского алфавита


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

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

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