Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/65: Рейтинг темы: голосов - 65, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 25.09.2011
Сообщений: 3

Реализация шифра Цезаря

25.09.2011, 21:47. Показов 12420. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
#include <vcl.h>
#pragma hdrstop
#include <math.h>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
 
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 
AnsiString k, alfav;
 
int nov,i,j;
char alphabet [32],letter,cesar[32]; //;
int index;
 
alfav =Edit1->Text;
k =Edit2->Text;
if (k!=1 && k!=2 && k!=3 && k!=4 && k!=5 && k!=6 && k!=7 && k!=8)
ShowMessage ("neverno vvedeno k!") ;
for (letter = 'а', index = 0; letter <= 'я';
letter++, index++) alphabet[index] = letter; {
 
public AnsiString getEncryption(AnsiString alfav, int k) ;
for( int i=0; i<32 ;i++)
{
 
cesar=alphabet[(alphabet.IndexOf(alfav[i])+StrToInt(k)) % 32].ToString() ; }
 
Edit3 ->Text=cesar;
 
} }
//---------------------------------------------------------------------------

ошибки
C++
1
2
[C++ Error] Unit1.cpp(33): E2188 Expression syntax
[C++ Error] Unit1.cpp(37): E2294 Structure required on left side of . or
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.09.2011, 21:47
Ответы с готовыми решениями:

Реализация шифра Бэкона
Помогите, пожалуйста реализовать шифр Бэкона. С шифром я разобрался, но запрограммировать пока не получается. Примерно, это должно...

Реализация шифра "Атбаш"
пытаюсь написать программу для реализации Атбаша по логике и по самой формуле Атбаша, получается такой код int T; AnsiString buff =...

Реализация шифра Цезаря
Напишите функцию encryptCaesar(msg, shift), которая кодирует сообщение шифром Цезаря. Шифр Цезаря заменяет каждую букву в тексте на букву,...

10
 Аватар для SalterOk
117 / 114 / 10
Регистрация: 02.06.2011
Сообщений: 280
25.09.2011, 22:03
для начала оформи код нормально и укажи где ошибки.
Цитата Сообщение от Tarak@n Посмотреть сообщение
public AnsiString getEncryption(AnsiString alfav, int k) ;
что это вообще такое? и какие-то лишние фигурные скобки..
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
25.09.2011, 22:34
оформил, вперйод :
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
#include <vcl.h>
#pragma hdrstop
#include <math.h>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
 
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  AnsiString k,alfav;
  int nov,i,j;
  char alphabet[32],letter,cesar[32]; //;
  int index;
  
  alfav = Edit1->Text;
  k = Edit2->Text;
  if (k!=1 &&
      k!=2 &&
      k!=3 &&
      k!=4 &&
      k!=5 &&
      k!=6 &&
      k!=7 &&
      k!=8) {
    ShowMessage ("\"k\" введено неверно.") ;
  }
  for (letter='а',index=0;letter<='я';letter++,index++) {
    alphabet[index] = letter; // { -> ??? 
  }
 
// ошибка здесь, я так подозреваю
  public AnsiString getEncryption(AnsiString alfav,int k); // ???
 
  for(int i=0;i<32;i++) {
    cesar = alphabet[(alphabet.IndexOf(alfav[i])+
                      StrToInt(k))%32].ToString();
  }
  Edit3 ->Text=cesar;
  }
}
1
0 / 0 / 0
Регистрация: 25.09.2011
Сообщений: 3
25.09.2011, 22:38  [ТС]
короче я думал что так вызову функцию которая будет пробегать по всему алфавиту с введенным с клавиатуры ключом
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
25.09.2011, 22:44
ну... это
C++
1
public AnsiString getEncryption(AnsiString alfav,int k);
больше похоже на прототип функции , чем на саму функцию , функция без тела выглядела бы как-нибудь так:
C++
1
2
3
4
public AnsiString getEncryption(AnsiString alfav,int k)
{
// Здесь тело функции
}
1
0 / 0 / 0
Регистрация: 25.09.2011
Сообщений: 3
25.09.2011, 22:46  [ТС]
public AnsiString getEncryption(AnsiString alfav, int k)

Добавлено через 30 секунд
вызываю функцию которая будет пробегать по всему алфавиту с введенным с клавиатуры ключом

cesar = alphabet[(alphabet.IndexOf(alfav[i])+
StrToInt(k))%32].ToString();-ошибка в этой строчке
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
25.09.2011, 22:53
если эта функция у вас где-нибудь уже описана, тогда
C++
1
getEncryption(alfav,k);
Добавлено через 1 минуту
Таракан, в редакторе сообщений есть кнопка С++ для вставки форматированного кода.
1
 Аватар для SalterOk
117 / 114 / 10
Регистрация: 02.06.2011
Сообщений: 280
26.09.2011, 00:08
я так понимаю alphabet это масив из char, у которого нет метода ToString()
0
0 / 0 / 0
Регистрация: 21.01.2013
Сообщений: 4
15.02.2013, 03:02
Проще сделать шифрование всех символов, не только алфавит.
Вот пример
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void __fastcall TForm1::Button1Click(TObject *Sender)
{
        int T;
        AnsiString buff = Edit1->Text;//Начальное слово
        int key  = StrToInt(Edit2->Text);//Ключ(Сдвиг)
        for (int i = 1;i<=buff.Length();i++)
                {
                        T = ((unsigned char)buff[i] + key);//Смещение на key
                        if (T >= 256) T=T-255;//Если ключ больше 256(Таблица символов ASCII)
                        buff[ i ] = (char)T;//Новое значение
                }
        Edit3->Text = buff;//Результат 
}
аналогично дешифрование, только надо
C++
1
T = ((unsigned char)buff[i] - key);
в теле цикла. Могу скинуть програмку, кому интересно.
0
0 / 0 / 0
Регистрация: 07.11.2014
Сообщений: 9
21.11.2014, 16:37
Скинь если не сложно
0
0 / 0 / 0
Регистрация: 21.01.2013
Сообщений: 4
21.11.2014, 17:32
Держи вот
Вложения
Тип файла: rar Прога.rar (359.2 Кб, 382 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.11.2014, 17:32
Помогаю со студенческими работами здесь

Реализация шифра Цезаря не работает
это реализация шифра цезаря написал в паскале все работаетprocedure cc(var c:char; sh:integer); const...

Реализация шифра Цезаря. Как обойти исключение IndexOutOfRangeException?
Здравствуйте, подскажите пожалуйста как обойти исключение: надо было реализовать шифр Цезаря.. привожу код: using System; ...

Реализация шифра Цезаря - не могу записать в файл\из файла
Есть такая программа, найденная на просторах интернета Реализация шифра Цезаря # -*- coding: utf-8 -*- i_text =...

Исправление шифра Цезаря
Привет всем, я написала программу которая шифрует и дешифрует слово по ключу, но у меня не получается сделать шифрование...

Дешифрация шифра цезаря
Пытаюсь реализовать дешифрацию шифра Цезаря private static void DeCrypto() { StreamReader sr1 = new...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru