• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

"Бьет" ли карта С1 карту С2

Djoker91

Ученик
Регистрация
13 Дек 2010
Сообщения
8
Реакции
0
Баллы
0
"Бьет" ли карта С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
 
В программе описаны типы:
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
Пожалуйста:
Код:
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.
 
Назад
Сверху