Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.11.17;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
3-56525
csr
2003-10-19 15:35
2003.11.17
Удаление дублей в БД!


14-56888
Balepa
2003-10-26 00:50
2003.11.17
Прога зацик-тся


1-56645
Islander
2003-11-07 17:58
2003.11.17
Как обявить объект одновременно с созданием


4-56966
kkostik
2003-09-23 10:40
2003.11.17
Перехват WinAPI


3-56459
DimChan
2003-10-29 09:12
2003.11.17
AccessViolation





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский