Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2010, 16:48   #1
Александра1000000
Пользователь
 
Регистрация: 27.05.2010
Сообщений: 21
По умолчанию Шифрование методом Цезаря!

Составить блок-схему и написать программу для шифрования и дешифрации входного текстового файла кодом Цезаря. В коде Цезаря каждая буква заменяется на букву, стоящую на 3 позиции впереди текущей: буква А заменяется на Г, Б – на Д, В – на Е и т.д. Буква Э заменяется на букву А, Ю – на Б, Я – на В.
Код:
 char b[100];

              int hold;
              const int arraySaze=26;


            char a[arraySaze]={a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z};
            hold=a[arraySaze];
            a[arraySaze]=a[arraySaze+3];
            a[arraySaze+3]=hold;

            cin>>b;
            b[100]=hold;
             cout<<hold<<endl;
           getch();
        return 0;    }
ошибки: [C++ Error] Unit1.cpp(18): E2034 Cannot convert 'char *' to 'char'
[C++ Error] Unit1.cpp(18): E2451 Undefined symbol 'c'
[C++ Error] Unit1.cpp(18): E2141 Declaration syntax error
[C++ Warning] Unit1.cpp(18): W8004 'a' is assigned a value that is never used
Подскажите пожалуйста, что не так?????
Иди, и возьми что ты хочешь!
Александра1000000 вне форума Ответить с цитированием
Старый 06.06.2010, 18:52   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,833
По умолчанию

Код:
hold=a[arraySaze];
Присваивание int - char. Тем более a[arraySaze] выход за границы массива.

Код:
           a[arraySaze]=a[arraySaze+3];
            a[arraySaze+3]=hold;
Бьем память.

Код:
b[100]=hold;
Нету там элемента 100.

Тут 12 строк, а ошибка в 18....
p51x вне форума Ответить с цитированием
Старый 06.06.2010, 19:21   #3
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

От себя добавлю:
Код:
char a[arraySaze]={a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z};
Символы! В кавычки их!
Код:
  char a[arraySaze]={'a','b','c', /*и так далее*/};
По теме можете посмотреть мою версию шифра Цезаря.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 07.06.2010, 09:35   #4
Александра1000000
Пользователь
 
Регистрация: 27.05.2010
Сообщений: 21
По умолчанию

По теме можете посмотреть мою версию шифра Цезаря.[/QUOTE]

Гром, твой шифр Цезаря выдает ошибку: [C++ Error] Unit1.cpp(18): E2108 Improper use of typedef 'string'(неправильное использование строки)???? Помогите, люди!!!!!!

Что-то мне подсказывает, что заголовочный файл я какой-то пропустила?
Иди, и возьми что ты хочешь!

Последний раз редактировалось Stilet; 07.06.2010 в 11:27.
Александра1000000 вне форума Ответить с цитированием
Старый 07.06.2010, 10:14   #5
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

В какой строчке выдает ошибку?
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 07.06.2010, 10:53   #6
Александра1000000
Пользователь
 
Регистрация: 27.05.2010
Сообщений: 21
По умолчанию

Гром, 21 строка
Иди, и возьми что ты хочешь!
Александра1000000 вне форума Ответить с цитированием
Старый 07.06.2010, 11:56   #7
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Код:
#include <telepat.h>
Посчитал в своем коде 21-ю строку. Обнаружил там сиротливо стоящую фигурную скобку {.
Скопируйте сюда строку, а лучше весь код, который выдает вам ошибку!
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 07.06.2010, 14:01   #8
Александра1000000
Пользователь
 
Регистрация: 27.05.2010
Сообщений: 21
По умолчанию

Все, запустилась. Только вот не кодирует. Выдает строку: Если Вы хотите зашифровать строку, нажмите \"1\", если Вы хотите декодировать," " прессу \"2\"
Далее:Input shift ... Ввожу текст, то есть тару английских букв
Далее: Input string to cipher... Консоль исчезает. Все.
Шифра нет.
Иди, и возьми что ты хочешь!
Александра1000000 вне форума Ответить с цитированием
Старый 07.06.2010, 14:10   #9
Александра1000000
Пользователь
 
Регистрация: 27.05.2010
Сообщений: 21
По умолчанию

Гром, блок-схема нужна. Где можно найти? Плиз, завтра защита!
Иди, и возьми что ты хочешь!
Александра1000000 вне форума Ответить с цитированием
Старый 07.06.2010, 14:14   #10
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

"Input shift" - "Введите сдвиг", т.е. число позиций, на которое нужно сдвинуть. Строку нужно вводить после него ("Input string to cipher").
Странно, как он вообще вывел второе обращение...
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Шифрование методом гаммирования student_63 Безопасность, Шифрование 9 28.04.2012 17:36
Шифрование методом перестановок Sphex Фриланс 7 18.08.2010 14:06
Шифрование текста по методу Цезаря с лозунгом (с ключевым словом) SASHA19 Помощь студентам 3 11.10.2009 15:18
Шифрование методом замещения Skytis Помощь студентам 3 25.05.2008 10:24
Шифрование методом сдвига Paul Hindenburg Общие вопросы Delphi 5 24.01.2008 08:30