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

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

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

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

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

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

Найти номер первой по порядку строки, содержащий наибольшее число цифр - C++
Помогите написать код программы.(Новичок) Дана символьная матрица размера 13х18. Найти номер первой по порядку строки, содержащий...

Найти номер первого по порядку столбца матрицы, содержащего наибольшее число цифр - C++
Дана символьная матрица размера 5 х 6. Найти номер первого по порядку столбца, содержащего наибольшее число цифр. (С++) Понятия не...

Сравнение векторов и замена слов в векторе - C++
Вводим n-е количество слов в векторе str. Имеется второй вектор dislike с определенными словами. Надо сравнить вектор str с вектором...

Двумерный массив: найти номер последней по порядку строки массива, содержащей наибольшее количество букв ш - C++
Дан двумерный массив, элементами которых являются отдельные символы. Найти номер последней по порядку строки массива, содержащей ...

Вектор векторов с различным числом элементов в каждом внутреннем векторе - C++
Здравствуйте, возникла такая проблема: нужно написать программу которая на экран выводит таблицу значений, используя структуру вектор, при...

Найти номер минимального по модулю элемента массива и сумму модулей после первого отрицательного элемента - C++
1.В одномерном массиве, состоящем из n вещественных элементов, вычислить: а)номер минимального по модулю элемента массива; б)сумму...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 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
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.07.2013, 04:46     Найти номер по порядку элемента в векторе векторов
Еще ссылки по теме:

Найти номер последнего максимального элемента среди элементов, лежащих в диапазоне [c,d] и расположенных до первого четного элемента. - C++
помогите с задачкой Найти номер последнего максимального элемента среди элементов, лежащих в диапазоне и расположенных до...

Для каждой строки матрицы найти номер первого по порядку четного числа и получить одномерный массив этих номеров - C++
для каждой строки матрицы найти номер первого по порядку четного числа и получить одномерный массив этих номеров. количество элементов...

Найти число пробелов в строке и заменить их на номер по порядку в исходной строке - C++
Задание: Во введенной пользователем строке найти число пробелов и заменить все пробелы на их номер по порядкув исходной строке. Например...

Найти номер первого максимального элемента среди отрицательных элементов, расположенных до первого элемента, большего заданного числа Т - C++
Написать собственную функцию для работы с одномерным динамическим массивом, заданным указателем. Алгоритмы решения всех подзадач, включая...

Найти номер первого максимального элемента среди отрицательных элементов, расположенных до первого элемента, большего Т. - C++
Задан целочисленный одномерный массив a из n элементов. Найти номер первого максимального элемента среди отрицательных элементов,...

Найти номер минимального элемента массива; найти сумму элементов, удовлетворяющих условию - C++
1. Найти номер минимального элемента массива. 2. Найти сумму элементов массива, расположенных между первым и вторым от- рицательными...


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

Или воспользуйтесь поиском по форуму:
alsav22
5416 / 4812 / 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     Найти номер по порядку элемента в векторе векторов
Ответ Создать тему
Опции темы

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