Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Делфи _ Нужно условие

Автор: Mr.Dmitry 3.05.2006 2:47

Народ памогите нужно такое условие.
Есть 3 пременных генерирующияся случайным образом от 0 до 1.Нужно чтобы только одна переменная была равна 1 а все остальные 0.

Автор: Бравый генерал 3.05.2006 3:12

Во-первых, ты запостил вопрос в раздел "Delphi", а не в раздел "Задачи", значит это имеет какое-то значение? Почему ты тогда не привел более "широкую" задачу? (например, какие компоненты используют эти переменные и для чего эти переменные нужны)
Во-вторых, тебе нужно записать это условие одной строчкой или можно решить этот вопрос небольшим кусочком кода?

Если ТОЧНО известно, что переменные хранят ТОЛЬКО значения "1" либо "0", то это условие одной строчкой запишется так:

a+b+c = 1

smile.gif

Автор: Mr.Dmitry 3.05.2006 3:59

Цитата(Mr.Dmitry @ 2.05.2006 22:47) *

Народ памогите нужно такое условие.
Есть 3 пременных генерирующияся случайным образом от 0 до 1.Нужно чтобы только одна переменная была равна 1 а все остальные 0.

Задача в дельфи!
Есть 3 пременных
at:=random(1);
at2:=random(1);
at3:=random(1);
Нужно чтобы at or at1 or at2 были равны 1 а две оставшиеся были равны 0!
Я понятно обьяснил в этот раз?

Автор: Бравый генерал 3.05.2006 4:16

Объедини эти три переменных в массив:

a: Array [0..2] of Byte;

И задать их значения так, как ты хочешь, можно таким образом:
a[Random(3)]:=1;

Пояснение: только одна из этих трех переменных - причем случайная - станет равной единице, остальные останутся по умолчанию нулями. Если же по умолчанию нулями они не являются, то перед тем присваиванием напиши:
fillchar(a,SizeOf(a),0);


P.S. Ты наверно хотел сказать: "Народ памогите, есть такое вот условие, нужно решение"? Я правильно тебя понял в этот раз?