С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Как сделать шаблон функции для определения максимального расстояния между элементами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Pointer. Int * http://www.cyberforum.ru/cpp-beginners/thread392135.html
Создать функцию, которая находит максимальное значение из int *a pointer (подсказка: используйте *a pointer как динамичный массив, также используйте strlen() для размера массива. я научилась...
C++ Поменять местами заданные квадраты матрицы Привет Всем,помогите пожалуйста с задачкой,либо наведите на путь,остальное постараюсь сам сделать(написать) Дана матрица А(8;8). А(0;0) А(0;1) | A(0;6) A(0;7) A(1;0) A(1;1) ... http://www.cyberforum.ru/cpp-beginners/thread392129.html
C++ Неправильно удаляются элементы стека
Вопрос в теме. Делаю на Visual Studio Не могу понять в чем дело Вводит нормально (число элем=3) a b c Удаляет и выводит не верно с с а Функция PrintStack вообще не работает Вот код
Динамически струтуры данных. Даны указатели P1 и P2 на вершины двух непустых стеков... C++
Даны указатели P1 и P2 на вершины двух непустых стеков. Пе- ремещать элементы из первого стека во второй, пока значение вершины первого стека не станет четным (перемещенные элементы первого стека...
C++ сочетания оператора цикла и условного оператора http://www.cyberforum.ru/cpp-beginners/thread392092.html
Известна оценка каждого ученика по физике, посчитать сколько пятерок, количество человек в классе, четверок, трояк, и двоек..
C++ задачи здравствуйте если не трудно помогу с программами =) 1.Если дано трехзначное число, например 123 его можно представить в виде 3+2*10+1*10*10. Воспользовавшись этой информацией, создайте программу,... подробнее

Показать сообщение отдельно
Сыроежка
Заблокирован
26.11.2011, 15:28
Динар Габбасов,

Еси считать, что максимальное расстояние - это разница между максимальным элементом последовательности и минимальным элементом последовательности, как здесь уже было сдеано предположение, то ваша шаблонная функция будет выглядеть следующим образом

C++
1
2
3
4
5
template <typename T>
const T distance( const T ( &a )[5] )
{
   return ( *std::max_element( a, a + 5 ) - *std::min_element( a, a + 5 ) );
}
Если вы стандартные алгоритмы еще не изучали, то вам самому надо искать минимальный и максимальный элемент

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
template <typename T>
const T distance( const T ( &a )[5] )
{
   T min = a[0], max = a[0];
 
   for ( int i = 1, i < 5; i++ )
   {
      if ( a[i] < min ) min = a[i];
      if ( max < a[i] ) max = a[i];
   }
 
   return ( max - min );
}
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.