Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
tommyz
0 / 0 / 0
Регистрация: 13.05.2015
Сообщений: 5
#1

Поиск минимума над главной диагональю в двумерном векторе - C++

05.11.2015, 16:57. Просмотров 221. Ответов 5
Метки нет (Все метки)

Нужно найти минимум в двумерном векторе, причем поиск нужно ввести только над главной диагональю матрицы (матрица квадратная). Собственно не могу разобраться с итереаторами, нужна подсказка. Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
using namespace std;
//...
void findMin(vector<vector<long long>> differenceMap)
{
    long long minimum=INFINITY;
    for(vector<vector<long long> >::iterator it = differenceMap.begin(); it != differenceMap.end(); ++it)
    {
        for(vector<long long>::iterator it2 = (it+1) ; it2 != (*it).end(); ++it2) //Вот здесь ошибка
        {
            if((*it2)<minimum) minimum=(*it2);
        }
    }
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2015, 16:57
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Поиск минимума над главной диагональю в двумерном векторе (C++):

Вычислить сумму элементов матрицы над главной диагональю под главной диагональю и на главной диагонали
Даны матрицы А(4,3) и В(3,5). Для каждой матрицы вычислить сумму элементов над...

Найти наибольший элемент среди элементов матрицы, расположенных над главной диагональю и под боковой диагональю
Нужно написать код на С++,обращаюсь к вам за помощью) Найти наибольший элемент...

Найти минимальный элемент над главной диагональю
В данной действительной квадратной матрице порядка N*N. Найти минимальный...

Количество четных элементов над главной диагональю
В двумерном массиве найти кол-во четных элементов над главной иагональю и...

Заполнить матрицу нулями над главной диагональю
всем привет! очень нужна ваша помощь. 1) нужно заполнить двухмерную матрицу...

Нахождение суммы над главной диагональю матрицы
Помогите пожалуйста. Не могу додуматься как найти сумму над главной диагональю...

5
_Valera_
489 / 371 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
05.11.2015, 17:07 #2
C++
1
2
3
4
for(auto it = differenceMap.begin(); it != differenceMap.end(); ++it)
    {
        for(auto it2 =  it->begin(); it2 != it->end(); ++it2) 
        {
попробуй так, только зачем тебе итераторы если у тебя вектор и у него определена операция [] ???
0
tommyz
0 / 0 / 0
Регистрация: 13.05.2015
Сообщений: 5
05.11.2015, 17:20  [ТС] #3
спасибо, но только мне нужно просмотреть только верхний треугольник матрицы над внешней диогональю, поэтому мне нужно бежать вторым итератором с текущей позиции первого + 1, но а чтобы это написать, синтаксис я не знаю
0
_Valera_
489 / 371 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
05.11.2015, 17:24 #4
Лучший ответ Сообщение было отмечено tommyz как решение

Решение

Цитата Сообщение от tommyz Посмотреть сообщение
спасибо, но только мне нужно просмотреть только верхний треугольник матрицы над внешней диогональю, поэтому мне нужно бежать вторым итератором с текущей позиции первого + 1, но а чтобы это написать, синтаксис я не знаю
C++
1
2
3
4
5
    int i = 1;
    for(auto it = differenceMap.begin(); it != differenceMap.end(); ++it, ++i )
    {
        for(auto it2 =  it->begin() +i; it2 != it->end(); ++it2) //Вот здесь ошибка
        {
Добавлено через 54 секунды
и блин, используй [], зачем усложнять код?!
1
tommyz
0 / 0 / 0
Регистрация: 13.05.2015
Сообщений: 5
05.11.2015, 17:29  [ТС] #5
Спасибо Итераторы нужны, чтобы потом удалять значения, а это набросок
0
_Valera_
489 / 371 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
05.11.2015, 17:32 #6
Цитата Сообщение от tommyz Посмотреть сообщение
чтобы потом удалять значения
почитай про реализацию вектора и списка - будет полезно
0
05.11.2015, 17:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.11.2015, 17:32
Привет! Вот еще темы с решениями:

Поиск минимума и максимума в двумерном массиве
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; int main() {...

Найти сумму положительных элементов над главной диагональю
В данной действительной квадратной матрице порядка N*N. Найти : сумму ...

Массивы. Поменять все элементы над главной диагональю на 1
поменять все элементы над главной диагональю на 1

Найти сумму элементов находящиеся над главной диагональю
Дана матрица A(4,3). Найти сумму элементов находящиеся над главной диагональю.


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

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

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