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

Найти номер по порядку элемента в векторе векторов - C++

Восстановить пароль Регистрация
 
Alex_94
3 / 3 / 1
Регистрация: 21.03.2013
Сообщений: 17
12.07.2013, 02:22     Найти номер по порядку элемента в векторе векторов #1
Подскажите, пожалуйста.
Например, есть
vector <vector<int> > k;
а мне нужно найти номер по порядку элемента (a,b) в этом векторе векторов
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.07.2013, 02:22     Найти номер по порядку элемента в векторе векторов
Посмотрите здесь:

Найти номер последнего максимального элемента среди элементов, лежащих в диапазоне [c,d] и расположенных до первого четного элемента. C++
Найти номер первого максимального элемента среди отрицательных элементов, расположенных до первого элемента, большего заданного числа Т C++
C++ Для каждой строки матрицы найти номер первого по порядку четного числа и получить одномерный массив этих номеров
C++ Найти номер первой по порядку строки, содержащий наибольшее число цифр
C++ Вектор векторов с различным числом элементов в каждом внутреннем векторе
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
12.07.2013, 02:26     Найти номер по порядку элемента в векторе векторов #2
что такое "номер по порядку"
о каком элементе (а, b) речь, если элементы это int?
Alex_94
3 / 3 / 1
Регистрация: 21.03.2013
Сообщений: 17
12.07.2013, 02:28  [ТС]     Найти номер по порядку элемента в векторе векторов #3
Например,
есть
1 2
2 3
4 5
4 7
4 6

Мне нужно найти номер (2 , 3), который равен 2
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
12.07.2013, 03:45     Найти номер по порядку элемента в векторе векторов #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
24
25
26
27
28
29
#include <iostream>     
#include <algorithm>    
#include <vector>
#include <cstdlib>
#include <ctime>
const int width=2, heigth=5;
std::vector<int>& RndVec(){
    static std::vector<int> result(width);
    std::generate_n (result.begin(), result.size(), rand);
    return result;
}
int main () {
    srand(time(0));
    std::vector<std::vector<int>> mat(heigth, std::vector<int>(width));
    std::vector<int> tgt(width);
    std::generate_n (mat.begin(), mat.size(), RndVec);
    tgt=mat.at(rand()%mat.size());
 
    std::cout<<"Matrix is"<<std::endl;
    for (std::vector<std::vector<int>>::iterator it=mat.begin(); it!=mat.end(); it++){
        std::copy(it->begin(), it->end(), std::ostream_iterator<int>(std::cout, " "));
        std::cout<<std::endl;
    }
    std::cout<<"Item is"<<std::endl;
    std::copy(tgt.begin(), tgt.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout<<std::endl<<"Position is "<<std::distance(mat.begin(), std::find(mat.begin(), mat.end(), tgt));
    std::cin.get();
  return 0;
}
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.07.2013, 04:46     Найти номер по порядку элемента в векторе векторов #5
Цитата Сообщение от Alex_94 Посмотреть сообщение
Мне нужно найти номер (2 , 3), который равен 2
Что значит найти? Из вектора векторов вывести содержимое второго вектора? Или в векторе векторов найти номер (по порядку) вектора, содержимое которого равно 2 и 3?

Добавлено через 7 минут
Если второе:
C++
1
2
3
4
5
6
7
for (int i = 0; i < k.size(); ++i)
 {
    if (k[i][0] == 2 && k[i][1] == 3)
    {
        cout << "n = " << i + 1 << endl;
    }
 }
Добавлено через 10 минут
Или так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 int arr[2] = {2, 3};
 int flag = 0;
 for (int i = 0; i < k.size(); ++i)
 {
    for (int j = 0; j < k[i].size(); ++j)
    {
        if (k[i][j] != arr[j]) 
        {
            flag = 1;
            break;
        }
    }
    if (!flag) cout << "i = " << i + 1 << endl;
    flag = 0;
 }
Yandex
Объявления
12.07.2013, 04:46     Найти номер по порядку элемента в векторе векторов
Ответ Создать тему
Опции темы

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