![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 05.05.2007
Сообщений: 31
|
![]()
Суть моей программки: осуществить все возможные перестановки от 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. |
![]() |
![]() |
![]() |
#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)
Проверь себя! Онлайн тестирование | Мой блог |
![]() |
![]() |
![]() |
#3 |
stopfake.org
Участник клуба
Регистрация: 03.05.2007
Сообщений: 1,927
|
![]()
И writeln замени на ShowMessage('');
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 05.05.2007
Сообщений: 31
|
![]() ![]() |
![]() |
![]() |
![]() |
#5 |
Delphi/C++/C#
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,972
|
![]()
Хм... В делфи тоже можно консольки писать, не проще туда вставить? Или именно с формой и кнопочками надо?
|
![]() |
![]() |
![]() |
#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. |
![]() |
![]() |
![]() |
#7 |
Регистрация: 10.08.2007
Сообщений: 9
|
![]()
А что разве не самостоятельная это работа?
В смысле кто автор? ![]() |
![]() |
![]() |
![]() |
#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
|
![]() |
![]() |
![]() |
#9 |
Great Code Monkey
Форумчанин
Регистрация: 09.08.2007
Сообщений: 533
|
![]()
Написана прога конечно не ахти. Что касается перевода на Delphi, то просто создать консольное приложение, вставить туда этот код и убрать uses crt и вместо readkey поставить readln
|
![]() |
![]() |
![]() |
#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 |