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

принадлежит ли один вектор другому (входит ли в состав) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ удалить двумерный массив http://www.cyberforum.ru/cpp-beginners/thread933270.html
Здравствуйте, уважаемые. Встала тривиальная задача которую никак не получается решить(( float (*vertices); //есть указатель на массив. vertices = new float ; //создаю 2 мерный массив как теперь его корректно удалить? (Готов отблагодарить плюсом )) )
C++ Рекурсия сортировки отбором Нужно написать программу, которая проводит сортировку отбором, т.е. выбирает из массива наименьшее значение, помещает в 1-ый элемент массива, и далее уменьшает массив на 1, проводя отбор из подмассива, который начинается уже со 2-ого элемента изначального массива. Помогите исправить мой код #include<iostream> using namespace std ; void selectionSort (int , int) ; int main () { const... http://www.cyberforum.ru/cpp-beginners/thread933252.html
Особенности использования указателей и ссылок в C++ при возврате из функции C++
Пусть у нас есть некий класс CBase и есть функция, которая создает и возвращает объект класса CBase. Создать она его может стеке или в куче, а вернуть может сам объект, ссылку на него или указатель… Чем же различаются эти варианты? Для ответа напишем простой тест, использующий разные варианты и сравним. class CBase { public: int i; // конструктор по-умолчанию CBase() {
C++ Динамическое создание форм (Не MFC)
Допустим есть созданная форма в ресурснике, а в ней есть поле для ввода(Edit Control) и даже кнопка(Button)! :) Подскажите пожалуйста, как заставить Button создать еще одно поле для ввода? :) ЗЫ:Для тех, кто любит делать умный вид и спрашивать "А на каком языке?", скажу сразу(хоть и так вопрос лежит в разделе С++) на C++! :) ЗЫЫ:Не MFC. ЗЗЫЫ: Заранее благодарен за ответы. :)
C++ allocate, как работает? http://www.cyberforum.ru/cpp-beginners/thread933209.html
template<class T> class Vec { public: typedef T* iterator; typedef const T* const_iterator; typedef size_t size_type; typedef T value_type; typedef T& reference; typedef const T& const_reference;
C++ функция ввода вместо cin Здорова! Нужно написать функцию ввода вместо cin, которая бы читала строки. Я не знаю чем можно заменить cin. Нужно постараться сделать так что бы по быстродействию функция читала строки быстрее чем cin (строки определенной длинны 15-20 символов). Как это сделать? И вообще чем можно заменить cin? подробнее

Показать сообщение отдельно
Bulat123
0 / 0 / 0
Регистрация: 19.04.2013
Сообщений: 53
04.08.2013, 14:08     принадлежит ли один вектор другому (входит ли в состав)
Задача состоит в том, что надо проверить входит ли один вектор в состав другого, нужно вывести 1 или 0 (true или false). Проблема такова, что при отрицательном ответе выдает ошибку во время выполнения vector iterator not incrementable или vector iterator not dereferencable(до небольшого изменения в 1 строке, где производился явный инкремент итератора).

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
 vector<int> vec1, vec2;
    int num, nums;
    bool eq = false;
    cout << "When you stop fillng a vector, please, enter some letter." << endl;
    cout << "How much numbers are in the first vector? ";
    cin >> nums;
    cout << "Filling the first vector:" << endl;
    for (int cnt = 0; cnt != nums; ++cnt) {
        cin >> num; 
        vec1.push_back(num);
    }
    cout << "How much numbers are in the second vector? ";
    cin >> nums;
    cout << "Filling the second vector:" << endl; 
    for (int cnt = 0; cnt != nums; ++cnt) {
        cin >> num; 
        vec2.push_back(num);
    }
    vector<int>::iterator iterSmallBegin = (vec1.size() > vec2.size()) ? vec2.begin() : vec1.begin(),
                          iterLargeBegin = (vec1.size() > vec2.size()) ? vec1.begin() : vec2.begin(),
                          iterSmallEnd = (vec1.size() > vec2.size()) ? vec2.end() : vec1.end(),
                          iterLargeEnd = (vec1.size() > vec2.size()) ? vec1.end() : vec2.end();
    for (; iterSmallBegin != iterSmallEnd; ++iterLargeBegin) {
        if (iterLargeBegin != iterLargeEnd) {
        eq = (*iterSmallBegin == *iterLargeBegin) ? true : false;    
        iterSmallBegin = (eq == true) ? ++iterSmallBegin : iterSmallBegin;
        }
    }
    cout << eq << endl;
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru