![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Помогите пожалуста !мне необходимо создать программу,которая будет зашифровывать слово ,поставив букве её номер в алфавите,и идентичную только для расшифровки!если кто-нибудь знает как это организовать помогите пожалуста.пишу на delphi ,если можно-приведите код
Последний раз редактировалось Dima170792, 21.04.2011 в 19:31. |
#2
|
||||
|
||||
![]() Chr - возвращает символ по его коду: Chr(65) = "A"
Ord - возвращает код символа: Ord('A') = 65 Пишу программы за еду. __________________ |
#3
|
|||
|
|||
![]() Цитата:
|
#4
|
||||
|
||||
![]() а чего тут в 2-х строчках сложного?
Код:
type TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; procedure TForm1.FormCreate(Sender: TObject); var i: Integer; begin Edit2.Text:=''; Edit3.Text:=''; // шифруемся for i:=1 to Length(Edit1.Text) do Edit2.Text:=Edit2.Text+Format('%.3d', [Ord(Edit1.Text[i])]); // дешифруемся for i:=0 to (Length(Edit2.Text) div 3)-1 do Edit3.Text:=Edit3.Text+Chr(StrToInt(Edit2.Text[i*3+1]+Edit2.Text[i*3+2]+Edit2.Text[i*3+3])); end; Пишу программы за еду. __________________ |
#5
|
|||
|
|||
![]() К сожалению Ваш код не подходит
Последний раз редактировалось Dima170792, 21.04.2011 в 22:25. |
#6
|
|||
|
|||
![]() -Необходимо создать программу,которая будет зашифровывать слово ,поставив каждой букве её номер в алфавите.если знаете-подскажите пожалуйста!
|
#7
|
|||
|
|||
![]() -Необходимо создать программу,которая будет зашифровывать слово ,поставив каждой букве её номер в алфавите.если знаете-подскажите пожалуйста!например-А=1,Б=2,В=3,и т.д.
слово ''пример''за шифруется так-17181014618 |
#8
|
||||
|
||||
![]() Вот как то так:
Код:
Function CodeTxt(Txt: String): String; Const Alfavit: Array [1..34] of Char = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя '; Var i, j: Integer; begin For i:= 1 To Length(Txt) Do For j:= 1 To 34 Do begin if Alfavit[j] = Txt[i] Then Result:= Result + Format('%.2d', [j]); end; end; Function DeCodeTxt(Txt: String): String; Const Alfavit: Array [1..34] of Char = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя '; Var S: String; i, j: Integer; begin i:= 1; While i <= Length(Txt) Do begin S:= Txt[i] + Txt[i+1]; j:= StrToInt(S); Result:= Result + Alfavit[j]; Inc(i, 2); end; end; If end Then begin; |
#9
|
||||
|
||||
![]() Цитата:
А как вы узнаете, сколько цифр уходит на один символ (при расшифровке). Я бы ваш "пример" расшифровывал бы: 1 7 1 8 10 1 4 6 1 8 - и это тоже правильно ![]() А Ё А Ж И А Г Е А Ж ![]() Только нолик вызывает сомнения и заставляет расшифровывать его с предыдущей цифрой ![]() Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. |
#10
|
||||
|
||||
![]() надеялся, что дальше сам догадаешься, но видать ошибся:
Код:
var i: Integer; begin Edit2.Text:=''; Edit3.Text:=''; // шифруемся for i:=1 to Length(Edit1.Text) do Edit2.Text:=Edit2.Text+Format('%.2d', [Ord(Edit1.Text[i])-Ord('а')]); // дешифруемся for i:=0 to (Length(Edit2.Text) div 2)-1 do Edit3.Text:=Edit3.Text+Chr(StrToInt(Edit2.Text[i*2+1]+Edit2.Text[i*2+2])+Ord('а')); end; Цитата:
Пишу программы за еду. __________________ |
#11
|
|||
|
|||
![]() Код:
да, и с заданием автор тожа напутал что-то: с большими (строчными) и маленькими (прописными) буквами что делать? кейсить? тожа очень удачное замечание |
#12
|
|||
|
|||
![]() Код:
надеялся, что дальше сам догадаешься, но видать ошибся |
#14
|
|||
|
|||
![]() Цитата:
Да проще надо быть. IntToHex сделает все, что нужно. При этом нам точно дочтаточно будет 1 байта, т.е. в 16 представлении всегда 2 цифры, а ведущий 0 будет функцией подствлен автоматически. |
#15
|
||||
|
||||
![]() Цитата:
If end Then begin; |