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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 11.03.2015, 09:00   #11
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Вот вам поиск максимального без if и всяких ветвлений.
Ограничение: только положительные целые числа.
Код:
int supermax(int a, int b)
{
	try
	{
		int tmp = 1 / b;
	}
	catch (...)
	{
		return a;
	}

	try
	{
		int tmp = 1 / a;
	}
	catch (...)
	{
		return b;
	}

	return supermax(a - 1, b - 1) + 1;
}


int _tmain(int argc, _TCHAR* argv[])
{
	int a[8];

	for (int i = 0; i < 8; ++i)
	{
		std::cin >> a[i];
	}
	
	int max = a[0];

	for (int i = 1; i < 8; ++i)
		max = supermax(max, a[i]);
		
	std::cout << max;
	char c;
	std::cin >> c;

	return 0;
}
pu4koff вне форума
Старый 11.03.2015, 11:28   #12
Praud
Форумчанин
 
Аватар для Praud
 
Регистрация: 11.10.2012
Сообщений: 409
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Вот вам поиск максимального без if и всяких ветвлений.
Ограничение: только положительные целые числа.
Код:
int supermax(int a, int b)
{
	try
	{
		int tmp = 1 / b;
	}
	catch (...)
	{
		return a;
	}

	try
	{
		int tmp = 1 / a;
	}
	catch (...)
	{
		return b;
	}

	return supermax(a - 1, b - 1) + 1;
}


int _tmain(int argc, _TCHAR* argv[])
{
	int a[8];

	for (int i = 0; i < 8; ++i)
	{
		std::cin >> a[i];
	}
	
	int max = a[0];

	for (int i = 1; i < 8; ++i)
		max = supermax(max, a[i]);
		
	std::cout << max;
	char c;
	std::cin >> c;

	return 0;
}

чертов маньяк
Praud вне форума
Старый 11.03.2015, 18:10   #13
Helloween
Форумчанин
 
Регистрация: 24.04.2012
Сообщений: 300
По умолчанию

Вычисление максимального на этапе компиляции

Код:
template<int a, int b>
class my_max
{
public:
    const static int max = a > b ? a : b;
};



int main()
{    
    const int x1 = 1, x2 = 2, x3 = 3, x4 = 6, x5 = 89, x6 = 7, x7 = 8, x8 = 9;    
    int i = my_max<my_max<my_max<my_max<my_max<my_max<my_max<x1, x2>::max, x3>::max, x4>::max, x5>::max, x6>::max, x7>::max, x8>::max;
    return 0;
}
Помог? Оставляем отзыв =)
Helloween вне форума
Старый 12.03.2015, 17:13   #14
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
так штоль?
Не. ? это тот же If Я предполагал решение аналогичное аватарскому.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фалы,паскаль-Найти самое большое число в файле.Если оно чётное вывести его повторно в конец файла Vika2112 Помощь студентам 0 13.12.2012 08:14
самое большое число в массиве LikeMe Visual C++ 3 10.12.2011 00:10
Найти числа произведение которых самое большое Arn1 Помощь студентам 4 03.10.2011 13:27
Как узнать самое большое число в столбце? Dux БД в Delphi 7 04.09.2011 21:22
Паскаль АВС - найти самое большое из четырёх чисел Dante123 Помощь студентам 4 14.04.2009 17:42