расположение вектора, в котором содержится максимальное значение - PullRequest
0 голосов
/ 18 июня 2011

Может кто-нибудь помочь мне найти местоположение вектора, в котором содержится максимальное значение. Я использую Visual C ++.

std::vector<double> array;

Позволяет сказать:

array = {19.4 , 45.0 ,12.9 ,59.3 , 2.8 ,18.0}

Максимальное значение 59.3. Я хочу заполнить его местоположение.

max_location = 3;

Есть ли способ получить это ...? Пожалуйста, помогите мне.

Ответы [ 2 ]

0 голосов
/ 18 июня 2011

Поскольку это домашнее задание, я не буду публиковать полное решение, просто идею.Взгляните на std::max_element (например, здесь ).Он возвращает итератор, и если он не равен вашему array.end(), вы можете получить расстояние между ним и array.begin(), которое будет индексом, который вы ищете.

0 голосов
/ 18 июня 2011

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

 index = 0
 for each value in the array from 0 to end
    if this is the highest value you've seen so far
       save value
       save index of value

 print index

Как вы можете сделать это в C ++?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...