Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
0 / 0 / 0
Регистрация: 05.11.2018
Сообщений: 22

задача на логику

24.01.2020, 06:38. Показов 4000. Ответов 47

Студворк — интернет-сервис помощи студентам
Здравствуйте, в универе подкинули задачку, как выразился препод на логику. Хотел сам по честному решить, но даже идей нет.
Может, кто нибудь решал уже такое?

Вот сама задача:

Кто старше? Пользователь вводит день, месяц и год рождения двух человек. Программа выводит номер того, кто старше. Если они ровесники, то 0.
Запрещено использовать сравнения (<, >, <>, =, >=, <=, min, max, compare) и условия (if, switch, try…catch).
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.01.2020, 06:38
Ответы с готовыми решениями:

Задача на логику
На лесном озерце начали цвести лилии. В первый день расцвела одна лилия, а потом каждый день количество цветущих лилий удваивалось. На n-ый...

Задача на С++ ( нужно обьяснить логику и алгортим)
Вот собсна ТЗ: С клавиатуры вводится натуральное число N // нужна блок схема а) необходимо вывести на экран все простые числа, меньшие...

Задача на нахождения вектора градиента, не подскажите логику решения?
Вот задача, не пойму, что надо сделать, смысл задачи не ясен. Ну мне естественно надо программу написать, но хоть смысл подскажите) ...

47
Злостный нарушитель
 Аватар для Verevkin
10921 / 5849 / 1289
Регистрация: 12.03.2015
Сообщений: 26,957
25.01.2020, 23:25
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от avgoor Посмотреть сообщение
В Спарте тебя бы с обрыва сбросили.
Какие ваши доказательства?
0
 Аватар для avgoor
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
25.01.2020, 23:29
Цитата Сообщение от Verevkin Посмотреть сообщение
Какие ваши доказательства?
Кокаинум.
0
25.01.2020, 23:37

Не по теме:

Цитата Сообщение от avgoor Посмотреть сообщение
Кокаинум
Мы ни в чом
не виноваты!
ыЪ

0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
26.01.2020, 04:02
Цитата Сообщение от avgoor Посмотреть сообщение
Verevkin, В Спарте тебя бы с обрыва сбросили.
Спартанцы были очень прагматичны и практичны. Имхо, не стали бы они этого делать.
0
 Аватар для COKPOWEHEU
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,101
26.01.2020, 10:26
Цитата Сообщение от IGPIGP Посмотреть сообщение
Переход по индексу массива тоже содержит условие.
Где?! В Си даже проверок границы нет, переход по индексу это просто два сложения.
Цитата Сообщение от IGPIGP Посмотреть сообщение
А запрещены в задаче операторы ветвления и выбора из списка:
Вряд ли задание заключается в том, чтобы найти оператор ветвления, не упомянутый в списке.
Цитата Сообщение от IGPIGP Посмотреть сообщение
Причём тернарный оператор не перечислен и используется в хвост и в гриву. И правильно используется.
Если задача в поиске "чего забыл препод" то да. Если описанной в первом посте задачи - нет.
Цитата Сообщение от IGPIGP Посмотреть сообщение
avgoor, ваша функция производит сравнение. Это не зависит от того желает ли она или вы. Посмотрите о чём вообще шла речь.
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
C
1
return ((unsigned)(-x) / (1+(unsigned)INT_MAX)) - ((unsigned)(x) / (1+(unsigned)INT_MAX));
Где здесь сравнение?
0
 Аватар для avgoor
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
26.01.2020, 12:53
Я проспался, вот окончательный вариант:
C++
1
2
3
4
int32_t foo(int32_t x, int32_t y)
{
    return 2 - (y - x >> 31 & 1) & ((x - y | y - x) >> 31 & 1) * 3;
}
1
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
26.01.2020, 12:55
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Где здесь сравнение?
Ваше решение - хороший вариант, но сравнение это выяснение вопроса выполнено ли заданное условие. Внутри компьютера все реализовано на битах (будь они не ладны).
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Где?! В Си даже проверок границы нет, переход по индексу это просто два сложения.
Это нужно показать? Переход по индексу, это переход по индексу. Он сам по себе не является вычислением нового индекса или адреса, хотя может включать эту операцию. А может и не включать. Вызывающий код может предоставить готовый индекс и всё. А вот результат зависит от контекста. Если имеется ввиду масив указателей на функции то индексация - способ организации ветвления.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
using namespace std;
int noneFun(int cond)
    {
       return cond;
    }
 
typedef int (*ResultFunc)(int);
 
int myTernary(int cond, ResultFunc one, ResultFunc two, ResultFunc three=noneFun)
{
    ResultFunc variants[]={one, two, three};
    return variants[cond](cond);
}
 
int fn1(int cond)
    {
       cout<< "cond1\n"; return cond;
    }
int fn2(int cond)
    {
       cout<< "cond2\n"; return cond;
    }
 
int main()
{
    for(int i=0; i<3; ++i)
    myTernary(i,fn1, fn2) ;
return 0;
}
Ну то есть в широком смысле, ветвление это не обязательно if/switch
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Вряд ли задание заключается в том, чтобы найти оператор ветвления, не упомянутый в списке.
Но математика это вряд ли то о чём нужно гадать. Самый пещерный математик - препод имеет доступ к русскому языку дабы изложить мысль. Кто его ограничивает?
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Где здесь сравнение?
Ещё раз. Внутри всё на битах реализовано. Операция сравнения на равенство выполнена как проверка на ноль результата вычитания. То есть, внутри арифметика, да.
0
 Аватар для COKPOWEHEU
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,101
27.01.2020, 11:00
Цитата Сообщение от IGPIGP Посмотреть сообщение
Если имеется ввиду масив указателей на функции то индексация - способ организации ветвления.
Я почему-то решил, что переход по индексу это что-то вроде goto arr[index]. Видимо, работа с контроллерами дала свой отпечаток.
Вы подняли интересный философский вопрос. При переходе по индексу совершенно точно нет сравнения, но вот ветвление есть.
Цитата Сообщение от IGPIGP Посмотреть сообщение
Самый пещерный математик - препод имеет доступ к русскому языку дабы изложить мысль. Кто его ограничивает?
В данный момент ограничивает ТС, который до сих пор не подошел к нему за уточнением. А вообще, человеческий язык штука не идеальная, на нем трудно сформулировать мысль так, чтобы избежать неоднозначной трактовки.
Цитата Сообщение от IGPIGP Посмотреть сообщение
Операция сравнения на равенство выполнена как проверка на ноль результата вычитания
.
Мне понравилась ваша идея с переходом по индексу. Вот только получится ли ей воспользоваться для решения исходной задачи?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.01.2020, 11:00

Задача на логику
Рассмотрим 4 положения. 1. Постулат равноправия, все процессы в инерциальный системах одинаковы. 2. Постоянство скорости света, а...

Задача на логику
Вычислить выражение,которое дано на картинке. Помогите пожалуйста,заранее спасибо

Задача на логику
Не могу понять почему не правильно, переделывала 3 раза и всё безуспешно! Напоминаю. На нашем сайте есть Научный форум. На этом форуме...

Задача на логику
(Ссылка на сторонний ресурс удалена)

Задача на логику
Фамилия великого математика содержит пять букв. если буквы алфавита А, Б, В, …, Ю, Я (без Ё) перенумеровать по порядку идущими подряд...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
48
Ответ Создать тему
Новые блоги и статьи
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru