Вообщем . Мне нужно написать генератор трех рандомных не равных друг к другу чисел . Вот что у меня получилось
Code
procedure TForm1.Button1Click(Sender: TObject); begin repeat begin x:=random(10); Y:=random(10); Z:=random(10); label1.caption:=floattostr(x); label2.caption:=floattostr(y); label3.caption:=floattostr(z); end ; Until x<>z and x<>y ;
end ;
Программа выдает ошибку на условие x<>y . Как вставить это условие в программу ? "Тот,кто хочет слишком многого,рискует потерять всё.Конечно,тот кто хочет получить от жизни слишком малого,может не получить ничего" Показания Томми Анджело на суде перед Эннио Сальери,1938 г.
Imperator, я в Delphi - ноль. Но у меня есть версия (чисто теоретическая)
procedure TForm1.Button1Click(Sender: TObject); begin repeat begin x:=random(10); Y:=random(10); Z:=random(10); label1.caption:=floattostr(x); label2.caption:=floattostr(y); label3.caption:=floattostr(z); end ; Until x<>z and x<>y ;
end ;
и
procedure TForm1.Button1Click(Sender: TObject); begin repeat begin x:=random(10); y:=random(10); z:=random(10); label1.caption:=floattostr(x); label2.caption:=floattostr(y); label3.caption:=floattostr(z); end ; Until x<>z and x<>y ;
end ;
Может быть ошибка из-за Y и Z ? (они заглавные, а x - нет) Или же это не влияет на работу...
Я когда знаешь хорошее вспоминаю, перед сном как, первый раз на этот сайт зашёл тогда. Первый раз прошёл тест на знатока. В деревне. Было весело)
Imperator, я в Delphi - ноль. Но у меня есть версия (чисто теоретическая) procedure TForm1.Button1Click(Sender: TObject); begin repeat begin x:=random(10); Y:=random(10); Z:=random(10); label1.caption:=floattostr(x); label2.caption:=floattostr(y); label3.caption:=floattostr(z); end ; Until x<>z and x<>y ; end ; и procedure TForm1.Button1Click(Sender: TObject); begin repeat begin x:=random(10); y:=random(10); z:=random(10); label1.caption:=floattostr(x); label2.caption:=floattostr(y); label3.caption:=floattostr(z); end ; Until x<>z and x<>y ; end ; Может быть ошибка из-за Y и Z ? (они заглавные, а x - нет) Или же это не влияет на работу...
Разницы нет . Я же говорю ошибку выдает на "Until x<>z and x<>y" . Одни строчку "Until x<>z ;" он переносит нормально , а вот в той ошибку выдает . "Тот,кто хочет слишком многого,рискует потерять всё.Конечно,тот кто хочет получить от жизни слишком малого,может не получить ничего" Показания Томми Анджело на суде перед Эннио Сальери,1938 г.
Я так думаю, тут неправильно задано условие. Программа видит несоответствие в равностях Модер игр: Neverwinter Night 2 (MotB/SoZ/MoW) TES (IV Oblivion /V Skyrim) SpellForce 2 (SW/DS) Fable (TLC/3)
Я так думаю, тут неправильно задано условие. Программа видит несоответствие в равностях
Условие должно звучать так : "х" не равно "у" и не равно "z" . Но как это записать ? "Тот,кто хочет слишком многого,рискует потерять всё.Конечно,тот кто хочет получить от жизни слишком малого,может не получить ничего" Показания Томми Анджело на суде перед Эннио Сальери,1938 г.
Условие должно звучать так : "х" не равно "у" и не равно "z" . Но как это записать ?
Может быть так: x<>z<>y ? или так x<>z and x<>y and z<>y; ? Я когда знаешь хорошее вспоминаю, перед сном как, первый раз на этот сайт зашёл тогда. Первый раз прошёл тест на знатока. В деревне. Было весело)
procedure Shuffle(var aArray; aItemCount: Integer; aItemSize: Integer); { after Julian M Bucknall } var Inx: Integer; RandInx: Integer; SwapItem: PByteArray; A: TByteArray absolute aArray; begin if (aItemCount > 1) then begin GetMem(SwapItem, aItemSize); try for Inx := 0 to (aItemCount - 2) do begin RandInx := Random(aItemCount - Inx); Move(A[Inx * aItemSize], SwapItem^, aItemSize); Move(A[RandInx * aItemSize], A[Inx * aItemSize], aItemSize); Move(SwapItem^, A[RandInx * aItemSize], aItemSize); end; finally FreeMem(SwapItem, aItemSize); end; end; end;
procedure TForm1.Button1Click(Sender: TObject); var a: array[1..10] of Integer; i: Shortint; begin Randomize; for i := Low(a) to High(a) do a[i] := i; Shuffle(a, High(a), SizeOf(Integer)); for i := 1 to High(a) - 1 do ListBox1.Items.Add(IntToStr(a[i])); end;
Для меня не совсем читабельный . Мне просто нужно в постусловии "Until" записать х <>y<>z так чтоб не было ошибки и я понял в чем ошибся . "Тот,кто хочет слишком многого,рискует потерять всё.Конечно,тот кто хочет получить от жизни слишком малого,может не получить ничего" Показания Томми Анджело на суде перед Эннио Сальери,1938 г.
Но все равно + за код . "Тот,кто хочет слишком многого,рискует потерять всё.Конечно,тот кто хочет получить от жизни слишком малого,может не получить ничего" Показания Томми Анджело на суде перед Эннио Сальери,1938 г.
Значит тебе нужно сделать генератор случайных чисел?
Мне нужен генератор случайных не повторяющихся чисел . "Тот,кто хочет слишком многого,рискует потерять всё.Конечно,тот кто хочет получить от жизни слишком малого,может не получить ничего" Показания Томми Анджело на суде перед Эннио Сальери,1938 г.
Ну тот что я скинул, как раз и является генератором случайных не повторяющихся чисел Но я дома посижу, вспомню математику и скажу тебе как правильно вписать равность Инженер я или кто Модер игр: Neverwinter Night 2 (MotB/SoZ/MoW) TES (IV Oblivion /V Skyrim) SpellForce 2 (SW/DS) Fable (TLC/3)
procedure TForm1.Button1Click(Sender: TObject); begin repeat begin x:=random(10); Y:=random(10); Z:=random(10); label1.caption:=floattostr(x); label2.caption:=floattostr(y); label3.caption:=floattostr(z); end ; Until x<>z and x<>y ;
end ;
x<>z and x<>y ; X(+-)b =Z , X(+-)b =Y Тебе надо найти b
Костёр инквизиции настигнет каждого неверного. Если я предупредил и не послал, значит быстро исправляйтесь.
x<>z and x<>y ; X(+-)b =Z , X(+-)b =Y Тебе надо найти b
Не понял "Тот,кто хочет слишком многого,рискует потерять всё.Конечно,тот кто хочет получить от жизни слишком малого,может не получить ничего" Показания Томми Анджело на суде перед Эннио Сальери,1938 г.