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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2012, 00:19   #1
Alexeoi
Новичок
Джуниор
 
Регистрация: 07.05.2012
Сообщений: 7
По умолчанию Изменение программы шифрования

Народ, помогите, кому не лень)) Только-только приступил к изучению языка Турбо Паскаль. Нашел неплохую програмку по шифрованию данных. Ниже привожу код.

Код:
const
n = 15;
atext: array[1..10] of char = ('0','1','2','3','4','5','6','7','8 ','9');
acode: array[1..11] of char = ('&','+','/','.','^','@','"','!','%','#','$');
var
mytext: array[1..n] of char;
mycode: array[1..n] of char;
i, j: integer;

begin
writeln('Введите данные: ');
for i := 1 to n do
read(mytext[i]);

for i := 1 to n do begin
j := 1;
while (j <= 10) and (mytext[i] <> atext[j]) do
j := j + 1;
if j <= 10 then
mycode[i] := acode[j]
else
mycode[i] := acode[11];
end;

write('Результат: ');
for i := 1 to n do
write(mycode[i]);

readln;
end.
В принципе, программа работает. Но есть проблема. Количество шифруемых символов ограничена константой n. Я пытался её убрать, изменить, сделать переменной. Но массивы жестко с ней связаны, а моих скудных познаний в этом языке недостаточно, чтобы придумать альтернативу.

Так что, если можете, помогите сделать так, чтобы можно было ввести произвольное количество шифруемых данных.

Последний раз редактировалось Stilet; 08.05.2012 в 07:44.
Alexeoi вне форума Ответить с цитированием
Старый 08.05.2012, 00:24   #2
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

аа компилятор у вас какой?
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 08.05.2012, 00:48   #3
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Не сказал бы, что программка неплоха
Код:
const 
atext: string = '0123456789';
acode: string = '$&+/.^@"!%#';

var
c: char;
i: integer;

begin
writeln('Введите данные: ');
while not eoln do
  begin
	  read(c);
	  write(acode[pos(c, atext)+1]);
  end;
readln;
end.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 08.05.2012 в 00:50.
BDA вне форума Ответить с цитированием
Старый 08.05.2012, 05:12   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
Я пытался её убрать, изменить, сделать переменной. Но массивы жестко с ней связаны, а моих скудных познаний в этом языке недостаточно, чтобы придумать альтернативу.
Динамические массивы и ввод н
p51x на форуме Ответить с цитированием
Старый 08.05.2012, 11:13   #5
Alexeoi
Новичок
Джуниор
 
Регистрация: 07.05.2012
Сообщений: 7
По умолчанию

Компилятор вроде Турбо Паскаль 7.0.
Спасибо всем за советы, обязательно попробую.
Alexeoi вне форума Ответить с цитированием
Старый 08.05.2012, 11:20   #6
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

если у вас как вы говорите
Цитата:
Компилятор вроде Турбо Паскаль 7.0.
то вот такое
Цитата:
Динамические массивы и ввод н
у вас не получится (просто так)
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 08.05.2012, 11:25   #7
Alexeoi
Новичок
Джуниор
 
Регистрация: 07.05.2012
Сообщений: 7
По умолчанию

BDA, спасибо за помощь. Уже испробовал, программа отлично работает.
Alexeoi вне форума Ответить с цитированием
Старый 08.05.2012, 11:25   #8
Alexeoi
Новичок
Джуниор
 
Регистрация: 07.05.2012
Сообщений: 7
По умолчанию

Hacker, почему?
Alexeoi вне форума Ответить с цитированием
Старый 08.05.2012, 11:28   #9
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

потому что в Turbo Pascal нет поддержки динамических массивов.
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 08.05.2012, 11:30   #10
Alexeoi
Новичок
Джуниор
 
Регистрация: 07.05.2012
Сообщений: 7
По умолчанию

Понятно...
Alexeoi вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение программы Алексей078 Свободное общение 2 14.10.2011 17:46
изменение программы Тотошка91 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 20.06.2011 00:20
Написать программы шифрования на Delphi Романи Фриланс 2 27.05.2011 23:35
Изменение бесплатной программы shivo Фриланс 4 11.01.2011 16:25
Изменение программы в ТР dante92 Помощь студентам 2 27.12.2009 20:46