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

Ввод двух векторов и их сравнение

25.01.2018, 00:28. Просмотров 171. Ответов 6
Метки нет (Все метки)

Требуется получить два вектора и определить является ли один из них префиксом другого. Проблема во вводе векторов, почему-то после ввода первого вектора и прерывания цикла комбинацией Cntr+Z следующий цикл (для ввода второго вектора) просто игнорируется.
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
30
31
32
33
34
35
36
#include "iostream";
#include <vector>;
#include <string>;
using namespace std;
int main() {
    vector<int>vec1;
    vector<int>vec2;
    string kek;
    cout << "Введите первый вектор";
    int buf;
    while (cin >> buf) {
        vec1.push_back(buf);
    }
    cout << "Введите второй вектор";
    do {
        vec2.push_back(buf);
    } while (cin >> buf);
    bool flag = true;
    if (vec1.size() > vec2.size()) {
        for (decltype(vec2.size()) size = 0, max = vec2.size(); size < max; ++size) {
            if (vec1[size] != vec2[size]) {
                flag = false;
            }
        }
    }
    else {
        for (decltype(vec2.size()) size = 0, max = vec1.size(); size < max; ++size) {
            if (vec1[size] != vec2[size]) {
                cout << vec1[size] << vec2[size];
                flag = false;
            }
        }
    }
    cout << flag;
    system("pause");
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.01.2018, 00:28
Ответы с готовыми решениями:

Сравнение двух векторов
Всем привет. Есть задание: сравнить 2 вектора целых чисел. И выяснить не...

Сравнение длины двух векторов
Как мне правильно сравнить величины векторов??? Длину я вычислил, сравнить не...

Сравнение двух векторов <string>, удаление повторяющихся элементов
# include &lt;iostream&gt; # include &lt;vector&gt; # include &lt;iterator&gt; # include...

Три функции (ввод значений элементов массива, вывод, сравнение двух массивов)
Написать программу с тремя функциями: ввод значений элементов массива целых...

Сравнение векторов
Здравствуйте! Есть задача – нужно посчитать, сколько элементов из RESULT...

6
Lambont
92 / 91 / 61
Регистрация: 23.11.2013
Сообщений: 242
25.01.2018, 00:40 2
Если потоку "скормить" комбинацию Ctrl+Z то поток подавится установится в eofbit.
Добавьте после каждого цикла ввода (после 13 и после 17 строки): cin.clear();
0
Tixcu
0 / 0 / 0
Регистрация: 25.01.2018
Сообщений: 3
25.01.2018, 00:57  [ТС] 3
Не сработало. Я пытался и просто в строку ввести всё, что было в потоке, но тоже не помогло.
0
Заблудившийся
3 / 3 / 2
Регистрация: 20.12.2017
Сообщений: 9
25.01.2018, 01:03 4
C++
1
cin.ignore();
0
888krot888
0 / 0 / 0
Регистрация: 14.05.2016
Сообщений: 28
25.01.2018, 01:11 5
скачай может подойдёт
0
Tixcu
0 / 0 / 0
Регистрация: 25.01.2018
Сообщений: 3
25.01.2018, 01:20  [ТС] 6
Цитата Сообщение от Заблудившийся Посмотреть сообщение
C++
1
cin.ignore();
Помогло дойти до второго цикла while, но в потоке почему-то остаётся последняя введённая в первый вектор цифра.
0
Manowar
Отава Ё.
1597 / 530 / 177
Регистрация: 12.03.2016
Сообщений: 2,011
Завершенные тесты: 1
25.01.2018, 09:57 7
Цитата Сообщение от Tixcu Посмотреть сообщение
но в потоке почему-то остаётся последняя введённая в первый вектор цифра
Используй при введении второго вектора не do{...} while, а while, как и при введении первого. Между ними cin.clear();.
0
25.01.2018, 09:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.01.2018, 09:57

Сравнение векторов
Создать класс, метод, который будет сравнивать два вектора по длине.

Сравнение векторов
Вот имеется вектор &lt;bool&gt; длиной допустим 5, а второй вектор &lt;bool&gt; длиной 200....

Структура , сравнение длин векторов
Тип данных задается структурой с необходимыми полями, и операции реализуются...


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

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

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