Помощь - Поиск - Пользователи - Календарь
Полная версия: Нужно условие
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Делфи
Mr.Dmitry
Народ памогите нужно такое условие.
Есть 3 пременных генерирующияся случайным образом от 0 до 1.Нужно чтобы только одна переменная была равна 1 а все остальные 0.
Бравый генерал
Во-первых, ты запостил вопрос в раздел "Delphi", а не в раздел "Задачи", значит это имеет какое-то значение? Почему ты тогда не привел более "широкую" задачу? (например, какие компоненты используют эти переменные и для чего эти переменные нужны)
Во-вторых, тебе нужно записать это условие одной строчкой или можно решить этот вопрос небольшим кусочком кода?

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

smile.gif
Mr.Dmitry
Цитата(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!
Я понятно обьяснил в этот раз?
Бравый генерал
Объедини эти три переменных в массив:
a: Array [0..2] of Byte;

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

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


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