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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.10.2023, 20:41   #1
Faserty
Пользователь
 
Регистрация: 22.09.2023
Сообщений: 25
По умолчанию Задача на условие Си

Здравствуйте столкнулся с проблемой в условии.
Задача: В игре в дурака участвуют 4 человека. Используется колода 36 карт.
Первым ходит тот, у кого меньший козырь. Поэтому после раздачи карт участники одновременно говорят свой меньший козырь.
Определить минимальное количество совравших.
Ввод: через пробел четыре цифры (6-14,0), где цифры больше 10 соответствуют картинкам.
Вывод: минимальное количество совравших.

Пример:
Ввод: 10 11 12 13
Вывод: 0

Ввод: 6 6 6 6
Вывод: 3

Ввод: 0 0 0 0
Вывод: 0

Нельзя использовать циклы

Код:
#include <stdio.h>

int main()
{ int a,b,c,d;
int x = 0;
int y = 1;
int z = 2;
int w = 3;
scanf("%d %d %d %d",&a,&b,&c,&d);
if (a == b && a == c && a == d){
    if (a == 0){
        printf("%d",x);
    }
    else{
        printf("%d",w);
    }
}
else if(a == b && a ==c){
    if (a == 0){
        printf("%d",x);
    }
    else{
        printf("%d",z);
    }
}
else if (a == b){
    if (c == d){
        if ( a == 0){
            printf("%d",y);
        }
        else{
            if (c == 0){
                printf("%d",y);
            }
            else{
                printf("%d",z);
            }
        }
    }
    else{
        if (a == 0){
            printf("%d",x);
        }
        else{
            printf("%d",y);
        }
    }
}
else if(a == d){
    if (b == c){
        if (a == 0){
            printf("%d",y);
        }
        else{
            if (b == 0){
                printf("%d",y);
            }
            else{
                printf("%d",z);
            }
        }
    }
    else{
        if (a == 0){
            printf("%d",x);
        }
        else{
            printf("%d",y);
        }
    }
}
else if(a == c){
    if (b == d){
        if (a == 0){
            printf("%d",y);
        }
        else{
            if (b == 0){
                printf("%d",y);
            }
            else{
                printf("%d",z);
            }
        }
    }
    else{
        if (a == 0){
            printf("%d",x);
        }
        else{
            printf("%d",y);
        }
    }
}
else if (b == c){
    if (a == d){
        if (b == 0){
            printf("%d",y);
        }
        else{
            if (a == 0){
                printf("%d",y);
            }
            else{
                printf("%d",z);
            }
        }
    }
    else{
        if (b == 0){
            printf("%d",x);
        }
        else if (b == d && b != 0){
            printf("%d",z);
        }
        else{
            printf("%d",y);
        }
    }
}
else if(b == d){
    if (a == c){
        if (b == 0){
            printf("%d",y);
        }
        else{
            if (a == 0){
                printf("%d",y);
            }
            else{
                printf("%d",z);
            }
        }
    }
    else{
        if (b == 0){
            printf("%d",x);
        }
        else{
            printf("%d",y);
        }
    }
}
else if(c == d){
    if (a == b){
        if (c == 0){
            printf("%d",y);
        }
        else{
            if (b == 0){
                printf("%d",y);
            }
            else{
                printf("%d",z);
            }
        }
    }
    else{
        if (c == 0){
            printf("%d",x);
        }
        else{
            printf("%d",y);
        }
    }
}
else if(a == b && a == d){
    if (a == 0){
        printf("%d",x);
    }
    else{
        printf("%d",z);
    }
}
else if(b == c && b == d){
    if (b == 0){
        printf("%d",x);
    }
    else{
        printf("%d",z);
    }
}
else if (a!= b && a!= c && a!=d && b != c && b != d && c !=d){
   printf("%d",x);
}
    return 0;
}
Faserty вне форума Ответить с цитированием
Старый 03.10.2023, 22:25   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

А в чем выражается проблема? Не осилил вашу простыню ифов
Код:
#include <stdio.h>

int main()
{
    int a, b, c, d;
    scanf("%d %d %d %d", &a, &b, &c, &d);
    int s = 0;
    if (a)
    {
        if (a == b)
        {
            s += 1;
            b = 0;
        }
        if (a == c)
        {
            s += 1;
            c = 0;
        }
        if (a == d)
        {
            s += 1;
            d = 0;
        }
    }
    if (b)
    {
        if (b == c)
        {
            s += 1;
            c = 0;
        }
        if (b == d)
        {
            s += 1;
            d = 0;
        }
    }
    if (c)
        if (c == d)
        {
            s += 1;
            d = 0;
        }
    printf("%d", s);
    return 0;
}
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача: Получится или нет? C (задачи на условие) Faserty Помощь студентам 17 22.09.2023 12:19
Условие в PHP - Не работает условие: не выводит сообщение. Ave_Ave_Ave PHP 13 17.06.2016 12:20
Задача на диапазон и условие Philipp93 Помощь студентам 12 30.10.2014 19:46
Задача на указатели: правильно ли я понял условие? fs444 Общие вопросы C/C++ 10 07.09.2010 19:52
Паскаль, простая задача, тупое условие. Кагбе_Прогер Помощь студентам 2 24.11.2008 09:50