Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Динар Габбасов
Заблокирован
#1

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

26.11.2011, 11:44. Просмотров 819. Ответов 6
Метки нет (Все метки)

Написать программу которая использует шаблон функции для определения максимального расстояния между элементами в наборе в 5 элементов. Проверьте программу используя 5 целых чисел, 5 чисел с плавающей точкой, 5 символов

я начал а дальше не знаю что делать:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "stdafx.h"
 
template <class diga>
diga djiga(diga &a, diga&b, diga&c, diga&d, diga&e);
{diga max, min;
if (a>b)
{ max=a;
}
else {min=b}
 
int _tmain(int argc, _TCHAR* argv[])
{
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2011, 11:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как сделать шаблон функции для определения максимального расстояния между элементами (C++):

Шаблон функции для удвоения максимального значения - C++
Помогите написать программу : Напишите программу, которая использует шаблон функции для удвоения минимального значения из трех...

Вызов функции для определения максимального и мин значения в массиве - C++
Выдает ошибку на строках:r = maxima(a ); и k = minima(a); что делать? #include &quot;iostream&quot; using namespace std; int main()...

Шаблон функции для удвоения максимального значения из трех аргументов - C++
Написать программу, которая использует шаблон функции для удвоения максимального значения из трех аргументов. Проверьте программу,...

Напишите программу, которая использует шаблон функции для определения наименьшего из двух аргументов. - C++
Напишите программу, которая использует шаблон функции для определения наименьшего из двух аргументов. Проверьте программу, используя пары...

Можно ли сделать шаблон функции только для определенных типов? - C++
Например template&lt;typename T&gt; void func(T x){} Где T может быть только int,double и float

Шаблон функции поиска максимального элемента - C++
Шаблон функции поиска максимального элемента массива задается след.образом: template &lt;typename T&gt; T max(T *x, int len) { T max=x; ...

6
lavan
53 / 53 / 1
Регистрация: 21.03.2009
Сообщений: 371
26.11.2011, 13:31 #2
Я так понял,что максимальное расстояние -это разница между максимальным и минимальным значением,если да то
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<iostream>
#include<algorithm>
using namespace std;
template<typename T> void search(T *,int);
int main() {
     int mas[5]={4,9,23,3,6};
     search(mas,5);
     char mas2[5]={'a','b','t','z','c'};
     cout<<endl;
     search(mas2,5);
    cin.get();
    return 0;
}
template<typename T> void search(T *ptr,int size) {
    T *maX=max_element(ptr,ptr+size);
    T *miN=min_element(ptr,ptr+size);
    cout<<"Max of lenth is "<<*maX-*miN;
}
0
Сыроежка
Заблокирован
26.11.2011, 15:28 #3
Динар Габбасов,

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

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
Динар Габбасов
Заблокирован
26.11.2011, 16:09  [ТС] #4
да я вот тоже думаю что расстояние -это разница между максимальным и минимальным значением, спасибо большое попробую решить если возникнут вопросы я напишу

Добавлено через 1 минуту
lavan, а можете написать в виде printf scanf не пользуясь std::cin? а то нам так не разрешается((

Добавлено через 1 минуту
Сыроежка, это получается цикл который определяет макс и мин элемент?
0
Сыроежка
Заблокирован
26.11.2011, 16:15 #5
Цитата Сообщение от Динар Габбасов Посмотреть сообщение
да я вот тоже думаю что расстояние -это разница между максимальным и минимальным значением, спасибо большое попробую решить если возникнут вопросы я напишу

Добавлено через 1 минуту
Сыроежка, это получается цикл который определяет макс и мин элемент?
Да, во втором примере внутри функции самостоятельно вычисляются максимальный и минимальный элементы.
0
Динар Габбасов
Заблокирован
26.11.2011, 16:59  [ТС] #6
Сыроежка, как сделать чтоб 5 данных вводились с клавиатуры? как сделать проверку?
0
Сыроежка
Заблокирован
26.11.2011, 17:10 #7
Цитата Сообщение от Динар Габбасов Посмотреть сообщение
Сыроежка, как сделать чтоб 5 данных вводились с клавиатуры? как сделать проверку?
Проверка делается просто. Объявляете массивы и вызываете для них функцию.

Например,

C++
1
2
3
4
5
6
7
8
9
10
11
12
int main()
{
   int ai[5] = { 1, 2, 3, 4, 5 };
   double ad[5] = { 1.1, 2.2, 3.3, 4.4, 5.5 };
   char ac[5] = { 1, 2, 3, 4, 5 };
 
   std::cout << "for ai distance = " << distance( ai ) << std::endl;
   std:;cout << "for ad distance = " << distance( ad ) << std::endl;
   std::cout << "for ac distance = " << static_cast<const int>( distance( ac ) ) << std::endl;
 
   return ( 0 );
}
0
26.11.2011, 17:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.11.2011, 17:10
Привет! Вот еще темы с ответами:

Как сделать шаблон функции другом шаблона класса? - C++
С обычной функцией понятно: template&lt;class T&gt; class A { friend void f(); } А вот если функция f шаблонная, то указать ее...

Составить процедуру определения суммы и количества элементов, расположенных между минимальным и максимальным элементами массива - C++
Составить процедуру определения суммы и количества элементов, расположенных между минимальным и максимальным элементами массива. ...

Сумма элементов массива до максимального. Создать шаблон функции - C++
нужно оформить перегрузку функции, кто может подсказать? #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; void main...

вычислите сумму элементов, которая расположена между теми элементами,которые сами расположены между первым и последним отрицательными элементами. - C++
вычислите сумму элементов, которая расположена между теми элементами,которые сами расположены между первым и последним отрицательными...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru