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

Поиск индекса самого наименьшего элемента в массиве - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.83
AndreyZ01
1 / 1 / 0
Регистрация: 28.10.2010
Сообщений: 112
25.10.2011, 17:58     Поиск индекса самого наименьшего элемента в массиве #1
Нужно написать шаблонную функцию, которая будет возвращать индекс самого наименьшего элемента в массиве.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2011, 17:58     Поиск индекса самого наименьшего элемента в массиве
Посмотрите здесь:

C++ определения минимального элемента и его индекса в одномерном массиве(компилятор выдаёт ошибку)
C++ Поиск наименьшего элемента массива
C++ Поиск k-ого наименьшего элемента
Поиск наибольшего и наименьшего значения в массиве. C++
C++ Написать функцию вычисления линейного индекса элемента (его номера расположения в памяти) по заданым размерам и индексам элемента в N-мерном массиве
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
oxotnik
 Аватар для oxotnik
1584 / 1061 / 33
Регистрация: 21.08.2008
Сообщений: 4,545
Записей в блоге: 1
25.10.2011, 18:00     Поиск индекса самого наименьшего элемента в массиве #2
Запоминаем значение 1-го элемента и его индекс, потом циклом и сравниваем каждое следующее с запомненным, если меньше, запоминаем текущее.
amor1k
Студент
 Аватар для amor1k
147 / 147 / 24
Регистрация: 18.01.2011
Сообщений: 469
25.10.2011, 18:18     Поиск индекса самого наименьшего элемента в массиве #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
template<class T>
T Find_Min(T *a, int n)
{
    T min = a[0];
    int imin = 0;
    
    for(int i = 0; i < n; i++)
    {
        if(a[i] < min)
        {
            min = a[i];
            imin = i;
        }
    }
    return imin;
}
пойдет?
AndreyZ01
1 / 1 / 0
Регистрация: 28.10.2010
Сообщений: 112
25.10.2011, 19:30  [ТС]     Поиск индекса самого наименьшего элемента в массиве #4
Спасибо большое.
Сейчас попробую сделать реализацию, потом отпишусь.

Добавлено через 53 минуты
у меня возникла проблема:
как вызвать функцию, к какому оператору обратиться, ато строка
C++
1
int m =  Find_Min(a);
не работает

Добавлено через 17 минут
все, разобрался
Сыроежка
Заблокирован
25.10.2011, 19:39     Поиск индекса самого наименьшего элемента в массиве #5
Цитата Сообщение от AndreyZ01 Посмотреть сообщение
Нужно написать шаблонную функцию, которая будет возвращать индекс самого наименьшего элемента в массиве.
Если имеете дело с одномерным массивом, то функция ббудет выглядеть так

C++
1
2
3
4
5
6
7
8
9
#include   <iterator>
#include   <algorithm>
 
template <typename T, size_t N>
 
size_t minimum_pos( T ( &a )[ N ] )
{
   return ( std::distance( a, std::min_element( a, a + N ) ) );
}
Можно написать код не только для массивов, но и для любого контейнера с последовательным итератором.

C++
1
2
3
4
5
6
7
8
9
10
11
#include   <iterator>
#include   <algorithm>
 
template <typename ForwardIterator>
 
int minimum_pos( ForwardIterator first, ForwardIterator last )
{
   if ( first == last ) return ( -1 );
 
   return ( std::distance( first, std::min_element( first, last ) ) );
}
Yandex
Объявления
25.10.2011, 19:39     Поиск индекса самого наименьшего элемента в массиве
Ответ Создать тему
Опции темы

Текущее время: 20:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru