|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
17.06.2007, 09:59 | #1 |
Пользователь
Регистрация: 05.05.2007
Сообщений: 31
|
ПОМОГИТЕ ПЕРЕДЕЛАТЬ ПРОГРАММУ ИЗ PASCAL В DELPHI
Суть моей программки: осуществить все возможные перестановки от 1 до N(т.е. введенного пользователем числа)!!!
В принципе я написала ее на Паскале, начала переделывать на Дельфи и ничего не получается....... Результат не вводится...... Может быть вы мне поможете??? uses crt; var a:array [1..9] of integer; b:array [1..9] of integer; j,i,n: integer; procedure per (j:integer); var i,k: integer; begin for i:=1 to n do if b[i]=0 then begin a[j]:= i; b[i]:=1; if j=n then begin for k:=1 to n do write (a[k]); for k:=n+1 to 10 do write (' '); end else per(j+1); b[i]:=0; end; end; begin writeln ('Vvedite kol-vo elementov ==>'); readln(n); if (n>9) or (n<1) then exit; writeln ('Perestanovki ==>'); for i:=1 to n do b[i]:=0; per (1); writeln; readkey; end. |
17.06.2007, 10:37 | #2 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Для ввода используй Edit. Например:
procedure TForm1.Button1Click(Sender: TObject); begin n:=StrToIntDef(Edit1.Text,0); // 0 присвоится в случае ввода буквы end; Для вывода можно много чего испльзовать: Edit, Memo, Label и т.д.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
17.06.2007, 12:40 | #3 |
stopfake.org
Участник клуба
Регистрация: 03.05.2007
Сообщений: 1,927
|
И writeln замени на ShowMessage('');
|
17.06.2007, 13:18 | #4 |
Пользователь
Регистрация: 05.05.2007
Сообщений: 31
|
Cпасибки..... Попробую!!...
|
17.06.2007, 16:15 | #5 |
Delphi/C++/C#
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,972
|
Хм... В делфи тоже можно консольки писать, не проще туда вставить? Или именно с формой и кнопочками надо?
|
18.06.2007, 10:05 | #6 |
Пользователь
Регистрация: 05.05.2007
Сообщений: 31
|
Препод докапался.... Объясните каждую строчку!!!!!!! ПЛЗЗЗЗЗЗЗЗЗЗЗЗЗ
uses crt; var a:array [1..9] of integer; b:array [1..9] of integer; j,i,n: integer; procedure per (j:integer); var i,k: integer; begin for i:=1 to n do if b[i]=0 then begin a[j]:= i; b[i]:=1; if j=n then begin for k:=1 to n do write (a[k]); for k:=n+1 to 10 do write (' '); end else per(j+1); b[i]:=0; end; end; begin writeln ('Vvedite kol-vo elementov ==>'); readln(n); if (n>9) or (n<1) then exit; writeln ('Perestanovki ==>'); for i:=1 to n do b[i]:=0; per (1); writeln; readkey; end. |
10.08.2007, 20:27 | #7 |
Регистрация: 10.08.2007
Сообщений: 9
|
А что разве не самостоятельная это работа?
В смысле кто автор? |
10.08.2007, 22:01 | #8 |
Вот я и
Форумчанин
Регистрация: 07.04.2007
Сообщений: 501
|
uses crt; // объявляем модули
var // раздел переменных a:array [1..9] of integer; // глобальные переменные b:array [1..9] of integer; j,i,n: integer; procedure per (j:integer); // начало процедуры per var // локальные ппеременные i,k: integer; begin for i:=1 to n do // цикл от 1 до n if b[i]=0 // если массив b = 0 then begin a[j]:= i; // то массив а присваиваем значение i b[i]:=1; // массив b = 1 if j=n // если переменная j = n then begin // то for k:=1 to n do write (a[k]); // выводим на экран массив а for k:=n+1 to 10 do write (' '); // выводим на экран пустоту end else per(j+1); // иначе процедуру начинаем сначала b[i]:=0; // массив в=0 end; end; begin // начало основной программы writeln ('Vvedite kol-vo elementov ==>'); readln(n); // вводим количество элементов if (n>9) or (n<1) then exit; // если n>9 или n<1 то программа прекращает свою работу writeln ('Perestanovki ==>'); for i:=1 to n do b[i]:=0; per (1); // выполняется перестановка writeln; readkey; end.
Исходники программ - http:\\www.kort.3dn.ru
|
11.08.2007, 10:47 | #9 |
Great Code Monkey
Форумчанин
Регистрация: 09.08.2007
Сообщений: 533
|
Написана прога конечно не ахти. Что касается перевода на Delphi, то просто создать консольное приложение, вставить туда этот код и убрать uses crt и вместо readkey поставить readln
|
11.08.2007, 14:17 | #10 |
Регистрация: 10.08.2007
Сообщений: 9
|
А если попробовать в форму запихать
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
перевести программу из Pascal с использованием компонента Stringgrid в delphi. | evrey | Компоненты Delphi | 4 | 02.06.2008 18:57 |
Не могу решить программу в Turbo Pascal помогите пожалуйста! Заранее благодарен... | dolbi | Помощь студентам | 5 | 01.04.2008 08:26 |
переделать программу с паскаля на асемблер | neee | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 0 | 13.12.2007 16:04 |
Помогите написать программу в PASCAL | kitty | Помощь студентам | 1 | 05.12.2007 21:14 |
Нужно переделать код с Delphi на C++ Builder | POPOV | Помощь студентам | 2 | 12.11.2007 22:51 |