13.12.2010, 18:41 | #1 (permalink) |
Новичок
Регистрация: 13.12.2010
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
"Бьет" ли карта С1 карту С2
Type Mast = (р, t, b, h); {пики, трефы, бубны, червы} Value = (v6, v7, v8, v9, vlO, vV, vD, vK, vT); {шесть, семь, восемь, девять, десять, валет, дама, король, туз} Card = record {описание карты:} m: Mast; {масть} v: Value {достоинство} end; Написать программу, которая вводит две карты С1 и С2 и козырную масть КМ и проверяет, "бьет" ли карта С1 карту С2. Для этого описать логическую функцию Hit (CI, С2: Card; KM: Mast): Boolean |
13.12.2010, 18:41 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Скорее всего тут можно найти ответ Карта "Free WiFi Zone" г.Краснодара "Никитин" пообещал новые иски против пользователей "ВКонтакте" |
13.12.2010, 22:14 | #2 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
TYPE Mast=(p,t,b,h); Value=(v6,v7,v8,v9,v10,vV,vD,vK,vT); Card=Record M:Mast; V:Value; end; VAR Trump:Mast; Card1,Card2:Card; Tr_num,Card1_M,Card1_V,Card2_M,Card2_V:Byte; FUNCTION Hit(C1,C2:Card;KM:Mast):Boolean; begin If ((Ord(C1.M)=Ord(C2.M)) and (Ord(C1.V)>Ord(C2.V))) or ((Ord(C1.M)=Ord(KM)) and (Ord(C2.M)<>Ord(KM))) then Hit:=true else Hit:=false; end; BEGIN Repeat Write('Enter the trump suit number (p - 0, t - 1, b - 2, h - 3) '); ReadLn(Tr_num); Until Tr_num<4; Trump:=p; While Ord(Trump)<>Tr_num do Trump:=SUCC(Trump); Repeat Write('Enter the 1-st card suit number (p - 0, t - 1, b - 2, h - 3) '); ReadLn(Card1_M); Until Card1_M<4; Card1.M:=p; While Ord(Card1.M)<>Card1_M do Card1.M:=SUCC(Card1.M); Repeat WriteLn('Enter the 1-st card value number (v6 - 0, v7 - 1, v8 - 2,'); Write('v9 - 3, v10 - 4, vV - 5, vD - 6, vK - 7, vT - 8) '); ReadLn(Card1_V); Until Card1_V<9; Card1.V:=v6; While Ord(Card1.V)<>Card1_V do Card1.V:=SUCC(Card1.V); Repeat Write('Enter the 2-nd card suit number (p - 0, t - 1, b - 2, h - 3) '); ReadLn(Card2_M); Until Card2_M<4; Card2.M:=p; While Ord(Card2.M)<>Card2_M do Card2.M:=SUCC(Card2.M); Repeat WriteLn('Enter the 2-nd card value number (v6 - 0, v7 - 1, v8 - 2,'); Write('v9 - 3, v10 - 4, vV - 5, vD - 6, vK - 7, vT - 8) '); ReadLn(Card2_V); Until Card2_V<9; Card2.V:=v6; While Ord(Card2.V)<>Card2_V do Card2.V:=SUCC(Card2.V); WriteLn(Hit(Card1,Card2,Trump)); ReadLn; END. |
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|