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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.80
cin_cout
26 / 26 / 7
Регистрация: 06.10.2012
Сообщений: 119
#1

Найти максимальное и минимальное значения переменной в векторе - C++

09.10.2012, 18:15. Просмотров 2253. Ответов 4
Метки нет (Все метки)

С помощью каких простейших инструкций можно найти максимальное и минимальное значения переменной в векторе?
double<vector>lengths
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.10.2012, 18:15     Найти максимальное и минимальное значения переменной в векторе
Посмотрите здесь:
C++ Считать значения файла, найти их минимальное и максимальное значения
C++ a,b и c.Присвоить максимальное из них переменной a,минимальное-переменной c,среднее переменной b
Задать одномерный массив, найти минимальное и максимальное значения C++
C++ Найти максимальное и минимальное значения среди заданных действительных чисел
Найти и поменять местами элементы, имеющие минимальное и максимальное значения в массиве C++
C++ Найти и поменять местами элементы, имеющие минимальное и максимальное значения в массиве
Сохранить в векторе удвоенные значения переменной C++
Определить минимальное и максимальное значения температуры воздуха. Вывести найденные значения с указанием дня C++
Вывести максимальное и минимальное значения C++
Из массива исключить максимальное и и минимальное значения C++
Напечатать максимальное и минимальное значения выражений C++
C++ Вывести минимальное и максимальное значения в массиве

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
09.10.2012, 18:21     Найти максимальное и минимальное значения переменной в векторе #2
Совсем простейших: std::min_element, std::max_element.

Если вручную, то вам надо цикл и две временные переменные (под текущие минимум и максимум).
cin_cout
26 / 26 / 7
Регистрация: 06.10.2012
Сообщений: 119
09.10.2012, 18:26  [ТС]     Найти максимальное и минимальное значения переменной в векторе #3
Цитата Сообщение от ~OhMyGodSoLong~ Посмотреть сообщение
Совсем простейших: std::min_element, std::max_element.

Если вручную, то вам надо цикл и две временные переменные (под текущие минимум и максимум).
Да-да, пока что вручную...
cin_cout
26 / 26 / 7
Регистрация: 06.10.2012
Сообщений: 119
10.10.2012, 19:34  [ТС]     Найти максимальное и минимальное значения переменной в векторе #4
Вопрос тот же: вроде всё делаю правильно, а компилятор ругается, что я за границы цикла вышел.
По-прежнему ищу максимальное и минимальное значения простым перебором в рамках вектора:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include "std_lib_facilities.h"
 
int main()
{
    vector<double> dist;
    double distance;
    while (cin>>distance)
        dist.push_back(distance);
    double sumdist=0;
    double max_dist;
    double min_dist;
    sort(dist.begin(), dist.end());
    for (int i=0;i<dist.size(); ++i) sumdist+=dist[i]; // тут пишет - using obsolete binding at 'i'
        if (dist[i]>dist[i-1]) max_dist=dist[i]; // а тут - name lookup at 'i' changed for new ISO 'for' scoping  
    if (dist[i]<dist[i-1]) min_dist=dist[i]; // 
    cout << " Среднее расстояние: " << sumdist/dist.size() << '\n';
    cout << " Максимальное расстояние: " << max_dist << '\n';
    cout << " Минимальное расстояние: " << min_dist << '\n';
    
    return 0;
 
}
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
10.10.2012, 20:33     Найти максимальное и минимальное значения переменной в векторе #5
А зачем сортировка?..

Да и максимумы-минимумы вы ищете... странно. Для max_dist, min_dist, dist и i на каждой итерации цикла должен выполняться инвариант: "max_dist (min_dist) == максимальный (минимальный) из элементов от dist[0] до dist[i]".

И обращения к dist[i] не мешало бы засунуть в блок:
C++
1
2
3
for (...) {
  // вот тут все dist[i]
}
А то вы, кажется, скобки потеряли.
Yandex
Объявления
10.10.2012, 20:33     Найти максимальное и минимальное значения переменной в векторе
Ответ Создать тему
Опции темы

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