Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.17;
Скачать: CL | DM;

Вниз

Прога зацик-тся   Найти похожие ветки 

 
Balepa   (2003-10-26 00:50) [0]

Вот код:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Edit2: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
x: Integer;
Function mm(x: Integer): Integer;
implementation

Function mm;
begin
Randomize;
repeat
mm:= Random(x);
until x>0;
end;
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
type
digit = set of 1..15;
var
s: digit;
a: array[1..15] of Integer;
c, i: Integer;
k: Boolean;
begin
c:=0;
k:= True;
repeat
if k=True then
inc(c);
x:= mm(16);
if x in s then
begin
exclude(s,x);
a[c]:= x;
k:= True;
end
else
k:= False;
until c>=15;
for i:= 1 to 15 do
Edit1.Text:= Edit1.Text+" "+IntToStr(a[i]);
end;

end.


 
sniknik ©   (2003-10-26 01:06) [1]

Удалено модератором


 
Balepa   (2003-10-26 01:12) [2]

А по конкретнее если моно


 
Ihor Osov'yak ©   (2003-10-26 01:24) [3]

2 [1] sniknik © (26.10.03 01:06)

Неа. Написано там сурероригинально, дубляж имени глобальной переменной и формального параметра, причем в реализации формальный параметр опущен, чтобы с толку сбить, наверное..
Причина зацикливания в другом - в s: digit; - мусор, рано или позно не сработает if x in s,, также этому рано-или поздно способствует exclude(s, x);, следовательно случится k := False; и как следствие
никогда не будет выполнятся
if k = True then
inc(c);

с вечной песней на
until c>=15;

Зы - а что автор хотел создать - одному богу известно


 
Ihor Osov'yak ©   (2003-10-26 01:27) [4]

И еще очень умиляет многоератный вызов Randomize; :-) (правда, это к зацикливанию отношения не имеет).. Balepa, иногда жмите, плиз, F1, перед написанием вызова функций, и читайте немножко то, что там написано..


 
Ihor Osov'yak ©   (2003-10-26 01:29) [5]

Удалено модератором


 
sniknik ©   (2003-10-26 02:01) [6]

Удалено модератором


 
Ihor Osov'yak ©   (2003-10-26 02:09) [7]

Удалено модератором


 
sniknik ©   (2003-10-26 02:17) [8]

Удалено модератором


 
Ihor Osov'yak ©   (2003-10-26 02:21) [9]

Удалено модератором



Страницы: 1 вся ветка

Текущий архив: 2003.11.17;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.028 c
1-56680
nevalex
2003-11-04 22:38
2003.11.17
ListView Itemindex


3-56436
paul_k
2003-10-27 09:26
2003.11.17
Помогите разобратся в структуре


8-56780
tlwlite
2003-07-20 19:53
2003.11.17
битмап в памяти...


4-56952
vic_vm
2003-09-20 16:05
2003.11.17
Как предотвратить загрузку Dll в определенный процесс


14-56861
Semas
2003-10-27 11:48
2003.11.17
basic интерпритация