IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

 
 Ответить  Открыть новую тему 
> Нужно условие
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 46
Пол: Мужской
Реальное имя: Дмитрий

Репутация: -  0  +


Народ памогите нужно такое условие.
Есть 3 пременных генерирующияся случайным образом от 0 до 1.Нужно чтобы только одна переменная была равна 1 а все остальные 0.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 39
Пол: Мужской
Реальное имя: Василий

Репутация: -  -2  +


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

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

smile.gif

Сообщение отредактировано: volvo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 46
Пол: Мужской
Реальное имя: Дмитрий

Репутация: -  0  +


Цитата(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!
Я понятно обьяснил в этот раз?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 39
Пол: Мужской
Реальное имя: Василий

Репутация: -  -2  +


Объедини эти три переменных в массив:
a: Array [0..2] of Byte;

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

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


P.S. Ты наверно хотел сказать: "Народ памогите, есть такое вот условие, нужно решение"? Я правильно тебя понял в этот раз?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 




- Текстовая версия 17.10.2017 18:30
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"