Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 26.05.2017, 14:34   #1
KariLex
Пользователь
 
Регистрация: 01.04.2017
Сообщений: 27
По умолчанию Из Паскаля в Си

Помогите пожалуйста переписать код на чистый СИ
Код:
uses crt;
const s1:array[1..4] of string[6]=('пики','трефи','бубны','черви');
      s2:array[1..9] of string[6]=('6','7','8','9','10','валет','дама',
                                   'король','туз');
type mast=(pk,tr,bb,ch);
     dost=(k6,k7,k8,k9,k10,vl,dm,kr,tz);
     karta=record
           m:mast;
           d:dost;
           end;
           
function Kick(k1,k2:karta;km:mast):boolean;
var i:mast;
    j:dost;
begin
Kick:=((k1.m=km)and(k2.m<>km)) {первая -козырная, вторая нет}
or((k1.m=k2.m)and(k1.d>k2.d));{или одной масти и первая старше}
end;

var k1,k2:karta;
    km:mast;
    i,j:byte;
    s:string[6];
    f:boolean;
begin
clrscr;
f:=false;
repeat
writeln('Ввод масти первой карты');
readln(s);
i:=1;
while(i<=4)and not f do
if s=s1[i] then
 begin
  k1.m:=mast(i-1);
  f:=true;
 end
else i:=i+1;
if not f then writeln('Такой масти нет')
until f;
f:=false;
repeat
writeln('Введите достоинство 1ой карты ');
readln(s);
i:=1;
while(i<=9)and not f do
if s=s2[i] then
 begin
  k1.d:=dost(i-1);
  f:=true;
 end
else i:=i+1;
if not f then writeln('Такого достоинства нет')
until f;
f:=false;
repeat
writeln('Ввод масти 2ой карты');
readln(s);
i:=1;
while(i<=4) and not f do
if s=s1[i] then
 begin
  k2.m:=mast(i-1);
  f:=true;
 end
else i:=i+1;
if not f then writeln('Такой масти нет')
until f;
f:=false;
repeat
writeln('Введите достоинство 2ой карты');
readln(s);
i:=1;
while(i<=9)and not f do
if s=s2[i] then
 begin
  k2.d:=dost(i-1);
  f:=true;
 end
else i:=i+1;
if not f then writeln('Такого достоинства нет')
until f;
f:=false;
repeat
writeln('Ввод козырной масти');
readln(s);
i:=1;
while(i<=4)and not f do
if s=s1[i] then
 begin
  km:=mast(i-1);
  f:=true;
 end
else i:=i+1;
if not f then writeln('такой масти нет')
until f;
writeln('Бьет ли первая карта вторую?');
write(Kick(k1,k2,km));
readln
end.
KariLex вне форума
Старый 26.05.2017, 14:42   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Тут не бесплатное бюро переводов.
Вы не перепутали "помогите" и "сделайте за меня"?

Назовите нормально тему, покажите свои наработки, конкретные вопросы и т.п.

Или в раздел Фриланс если вы не хотите ничего делать, а ищете кого-то, кто выполнит ваши задачи за вознаграждение.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
с паскаля на с++ uibiwe Помощь студентам 1 16.01.2014 20:11
из паскаля в С++ sleepking89 Паскаль, Turbo Pascal, PascalABC.NET 1 15.02.2013 00:53
Из паскаля в C++ Miles Общие вопросы C/C++ 1 22.05.2012 09:50
Из паскаля в С++ Slake Visual C++ 0 25.12.2011 14:35
Из паскаля в С++ Defender42 Помощь студентам 9 05.04.2011 16:37