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

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

Войти
Регистрация
Восстановить пароль
 
Alex_94
3 / 3 / 1
Регистрация: 21.03.2013
Сообщений: 17
#1

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

12.07.2013, 02:22. Просмотров 415. Ответов 4
Метки нет (Все метки)

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

Найти номер минимального элемента массива C++
Пользователь вводит с клавиатуры N чисел. Определить номер максимального элемента, выдав сообщение вида "Максимальный номер элемента был введен 7-м" C++
C++ Для каждой строки матрицы найти номер первого по порядку четного числа и получить одномерный массив этих номеров
Найти номер максимального элемента в последовательности C++
Найти номер первого максимального элемента C++
C++ Найти номер первой по порядку строки, содержащий наибольшее число цифр
C++ Вектор векторов с различным числом элементов в каждом внутреннем векторе
Двумерный массив: найти номер последней по порядку строки массива, содержащей наибольшее количество букв ш C++
Найти номер первого по порядку столбца матрицы, содержащего наибольшее число цифр C++
Найти номер минимального элемента массива C++
C++ Найти число пробелов в строке и заменить их на номер по порядку в исходной строке
Найти номер максимального элемента массива; найти произведение заданных элементов; упорядочить массив C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,916
Записей в блоге: 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
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,916
Записей в блоге: 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
5410 / 4806 / 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     Найти номер по порядку элемента в векторе векторов
Ответ Создать тему
Опции темы

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