Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.07.2017, 15:39   #1
ZarinZomanu4
 
Аватар для ZarinZomanu4
 
Регистрация: 27.05.2013
Сообщений: 9
По умолчанию Добавление и исключение элементов вектора — C++

Задача
Люди стоят в очереди, но никогда не уходят из её начала, зато могут приходить в конец и уходить оттуда. Более того, иногда некоторые люди могут прекращать и начинать беспокоиться из-за того, что очередь не продвигается.
Реализуйте обработку следующих операций над очередью:
WORRY i: пометить i-го человека с начала очереди (в нумерации с 0) как беспокоящегося;
QUIET i: пометить i-го человека как успокоившегося;
COME k: добавить k спокойных человек в конец очереди;
COME -k: убрать k человек из конца очереди;
WORRY_COUNT: узнать количество беспокоящихся людей в очереди.
Изначально очередь пуста.
Формат ввода
Количество операций Q, затем описания операций.
Для каждой операции WORRY i и QUIET i гарантируется, что человек с номером i существует в очереди на момент операции.
Для каждой операции COME -k гарантируется, что k не больше текущего размера очереди.
Формат вывода
Для каждой операции WORRY_COUNT выведите одно целое число — количество беспокоящихся людей в очереди.
пример ввода:
8
COME 5
WORRY 1
WORRY 4
COME -2
WORRY_COUNT
COME 3
WORRY 3
WORRY_COUNT
вывод
1
2
мой вывод
kolvo obig 0
Itera 7
Razmer 5
vector 0 vector 0 vector 0 vector 0 vector 0
kolvo obig 0
Itera 6
Razmer 5
vector 0 vector 1 vector 0 vector 0 vector 0
kolvo obig 0
Itera 5
Razmer 5
vector 0 vector 1 vector 0 vector 0 vector 1
kolvo obig 0
Itera 4
Razmer 3
vector 0 vector 1 vector 0
kolvo obig 1
Itera 3
Razmer 3
vector 0 vector 1 vector 0
kolvo obig 2
Itera 2
Razmer 3
vector 0 vector 1 vector 0
kolvo obig 3
Itera 1
Razmer 3
vector 0 vector 1 vector 0
kolvo obig 4
Itera 0
Razmer 3
vector 0 vector 1 vector 0
(Элементы расписаны для себя с целью понимания происходящего)
Получается вектор не увеличивается при повторном вводе COME 3 и почему то считается с каждой итерацией WORRY_COUNT.Что может быть не правильно?
Сам код

Код:
#include <iostream>
    #include <vector>
    #include <string>
    using namespace std;
      
    int main() {
        int Q, k;
        int y=0;
        int n=0;
        string s;//command
        vector<bool>line;
        cin>>Q; // numbers of operation
        while (Q!=0)
        {
            cin>>s>>k;// input command and coefficient
            if(s=="WORRY" && k<=line.size()){
                line[k]=true;
            }
            if(s=="QUIET" && k<=line.size()){
                line[k]=false;
            }
            if(s=="COME" && k>0){
                line.resize(k+line.size(),false);
            }
            if(s=="COME-" && k<line.size()){
                    line.resize(line.size()-k,false);
            }
            if(s=="WORRY_COUNT")
                {
                if (line[y]=true)
                    {
                        n++;
                    }
      
                }
                cout<<"kolvo obig "<<n<<endl;
      
            Q--;
            y++;
            cout<<"Itera "<<Q<<endl;
            cout<<"Razmer "<<line.size()<<endl;
            for (auto x:line)
            {
                cout<<"vector "<<x<<" ";
            }
            cout<<endl;
            }
        return 0;
    }
ZarinZomanu4 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Произведение элементов вектора и сумма элементов в массиве. TurboPascal Nikollay Помощь студентам 1 04.06.2015 10:20
исключение из списка элементов с отрицательными значениями now2 Помощь студентам 2 03.09.2014 17:27
Исключение элементов из списка LISP veter48 Помощь студентам 0 02.10.2012 19:36
исключение элементов из списка sahsa-m37 Помощь студентам 1 25.05.2011 23:03
суммирование элементов вектора saidmir Общие вопросы C/C++ 7 22.08.2010 20:23