Главная страница
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.033 c
3-56487
NewD
2003-10-28 07:11
2003.11.17
Как сохранять файл Excel, Word или другой в поле ?


1-56721
RoLeX
2003-11-06 20:49
2003.11.17
Как написать следующее условие: если X не равен Edit2.text, то...


3-56538
wsm-100
2003-10-25 15:50
2003.11.17
Какое событие при перемещению по гриду.


1-56743
Dimaz-z
2003-11-06 16:03
2003.11.17
Что за ошибка - Key violation?


1-56578
SLesh
2003-11-06 10:26
2003.11.17
Date