двигаться в векторе <T> - PullRequest
       13

двигаться в векторе <T>

0 голосов
/ 26 апреля 2020

Мне нужно переместить все элементы, которые содержат CPU_type в начале вектора. Как это сделать? Я знаю, что я использую метод перемещения неправильно.

#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <fstream>

struct T {
    int number;
    std::string CPU_type;
    int size_of_hard_drive;
    int size_of_RAM;
};

using namespace std;

int main() {
    int n;
    cin >> n;
    vector <T> v(n);
    for (int i = 0; i < n; i++) {
        cin >> v[i].number >> v[i].CPU_type >> v[i].size_of_hard_drive >> v[i].size_of_RAM;
    }
    string type_of_CPU_to_move_forward;
    cin >> type_of_CPU_to_move_forward;
    vector <T> ::iterator it;
    for (it = v.begin(); it != v.end(); ++it) {
        if ((*it).CPU_type == type_of_CPU_to_move_forward) {
            vector <T> ::iterator it1 = it;
            move(it1, it1, v.begin());
        }
    }
    return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...