Календарь Участники форума Часто Задаваемые Вопросы Поиск   
Настройки профайла, личные сообщения и подписка на темы
Форум Ложки.net - Все о Матрице : Powered by vBulletin version 2.2.8 Форум Ложки.net - Все о Матрице > Сайт и форум > Flame > Опросы, статистика, анкеты > Задачка
Отдельное сообщение:
Автор
Сообщение Новая тема   Ответить
Каламбур Балаганович Базаров
Программа

На форумах с февраля 2005
Местонахождение: Нахожусь: утром - в бодром состоянии духа, днем - в состоянии легкого алкогольного опьянения, вечером - в постпохмельной апатии, ночью - в гипнотерапевтическом сновидении...
Сообщений: 11

Для желающих проверить правильность утверждения "Нужно менять выбор" я написал программу.
Вот ее код:

code:
program ParadoxHolla; uses Forms, UParadoxHolla in 'UParadoxHolla.pas' {Form1}; {$R *.res} begin Application.Initialize; Randomize; Application.Title := 'Парадокс Холла'; Application.CreateForm(TForm1, Form1); Application.Run; end. -- -- -- unit UParadoxHolla; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Spin; type TForm1 = class(TForm) B1: TButton; CB1: TCheckBox; GroupBox1: TGroupBox; E1: TSpinEdit; procedure B1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.B1Click(Sender: TObject); Var //Массив дверей //True - авто в ней, False - в ней нет авто Dv:Array [0..2] Of Boolean; //Переменные I,J,K,V1,V2,V3,V4:Integer; begin //Количество выигранных авто K:=0; //Цикл, кол-во итераций которого равно кол-ву игр For J:=1 To StrToInt(E1.Text) Do Begin //Выбор двери, за которую прячут авто V1:=Random(3); //Очистка массива дверей For I:=0 To 2 Do Dv[I]:=False; //Прячем авто Dv[V1]:=True; //Первый выбор игрока V2:=Random(3); Repeat //Выбор ведущего V3:=Random(3); Until (Dv[V3]=False)And(V3<>V2); //Менять выбор или нет? If CB1.Checked Then //Выбор изменен Begin //Второй выбор игрока V4:=-1; Repeat Inc(V4); Until (V4<>V2)And(V4<>V3); End //Выбор не изменялся Else V4:=V2; //Проверка на наличие за выбранной игроком дверью авто //и наращивание счетчика выиграшей в случае удачи If Dv[V4] Then Inc(K); End; //Сообщение о количестве выигранных авто ShowMessage('Выиграно: '+IntToStr(K)) end; end.


Сама она прикреплена к посту.
Проверяйте.

Прикрепленный файл: paradoxholla.zip
"Файл был скачан 495 раз(а).

__________________
См. ник.
Мой пароль - 1111

Адрес поста | Один пост | Сообщить модератору | IP: Logged

Каламбур Балаганович Базаров в оффлайне Old Post 19.04.2005 09:40
Посмотреть профайл автора Click here to Send Каламбур Балаганович Базаров a Private Message Домашняя страница Каламбур Балаганович Базаров Найти еще сообщения от Каламбур Балаганович Базаров Добавить Каламбур Балаганович Базаров в Ваш список друзей Ответить с цитированием Редактировать/Удалить сообщение
Смотреть всю тему
Время на форуме соответствует Гринвичу . Сейчас время - 06:06. Новая тема   Ответить
[Закрыть это окно]


< Contact Us - Ложки.net >

Based on vBulletin 2.2.8
Powered by Stormwave.ru
Copyright © 2003 - Lozhki.Net


Rambler's Top100