Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.08.2010, 10:52   #1
nXs
Форумчанин
 
Регистрация: 26.02.2010
Сообщений: 126
По умолчанию генерация чисел

Ув. форумчане, подскажите пожалуйста, почему генерация чисел в данной процедуре иногда возвращает число больше 20?

Код:
procedure AIS(var Plate:sh);

function Generate(var str:integer):TPoint;
var
S:TPoint;
begin
S.X:=0;
S.Y:=0;
randomize;
S.X:=random(20);
S.Y:=random(20);


case Plate[S.X, S.Y] of

0:  begin
    Plate[S.X, S.Y]:=5;
    Result.X:=S.X;
    Result.Y:=S.Y;
    str:=5;
    end;
1:  begin
    Plate[S.X, S.Y]:=6;
    Result.X:=S.X;
    Result.Y:=S.Y;
    str:=6;
    end;
2:  begin
    Plate[S.X, S.Y]:=7;
    Result.X:=S.X;
    Result.Y:=S.Y;
    str:=7;
    end;

5..16:result.X:=0;
end;
end;


var
Sr:TPoint;
nm:integer;
begin
Sr.X:=0;
Sr.Y:=0;


Sr:=Generate(nm);


Form1.Edit1.Text:=inttostr(Sr.X);
Form1.Edit2.Text:=inttostr(Sr.Y);


end;
nXs вне форума Ответить с цитированием
Старый 13.08.2010, 11:16   #2
Greek9000
Форумчанин
 
Регистрация: 01.09.2009
Сообщений: 151
По умолчанию

Мне кажется, что всё-таки не генерация чисел возвращает число больше 20-ти, а сама процедура.
Мне кажется, что это присходит из-за того, что в конструкции case описаны не все возможные исходы. Кстати "5..16:result.X:=0;" так и должно быть, присвоение result.Y:=0; не нужно?
Greek9000 вне форума Ответить с цитированием
Старый 13.08.2010, 11:39   #3
nXs
Форумчанин
 
Регистрация: 26.02.2010
Сообщений: 126
По умолчанию

Странно, но какое отношение имеет генерация к сравнению данных, рандомно выбирается то только адрес массива.... Исправил приравнял у:=0 все работает. Спасибо.
nXs вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Генерация чисел. Дельфи Elena2131 Помощь студентам 6 15.05.2010 21:38
Генерация случайных чисел?! Evgeny_1 Фриланс 12 17.03.2010 14:23
Генерация случайных чисел от -1 до 1 Shketer Общие вопросы Delphi 4 19.12.2009 23:43
Генерация Случайных Чисел Кирилл13 Помощь студентам 6 06.01.2009 10:31