Текущий архив: 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.46 MB
Время: 0.009 c