Загрузка...

Help with a problem

Thread in C/C++ created by kristall0v Mar 23, 2022. (bumped Mar 23, 2022) 210 views

  1. kristall0v
    kristall0v Topic starter Mar 23, 2022 статус продаётся, честь тоже 31,366 Sep 24, 2019
    Есть код, который перед каждым максимальным элементом в векторе вставляет произвольный элемент, который вводится в переменную x

    Мне нужно сделать, чтоб элемент вставлялся после максимального, а не перед.
    Простой +1 не помогает, код ловит бесконечный цикл.

    C
    #include <iostream>
    #include <vector>
    #include<algorithm>
    using namespace std;
    int main()
    {
    int x;
    cin>>x;
    cout<<'*';
    int n = 5;
    vector<int> a(n);
    for (int i = 0; i<n; i++)
    {
    cin>>a[i];
    }
    int max = *max_element(a.begin(), a.end());
    for (vector <int>::iterator iter = a.begin(); iter!=a.end(); iter++)
    {
    if (*iter == max && (iter==a.begin() || *(iter-1)!=x) )
    {
    a.insert(iter, x);
    iter=a.begin();
    }
    }
    for (vector <int>::iterator iter = a.begin(); iter!=a.end(); iter++)
    {
    cout<<*iter<<" ";
    }
    return 0;
    }
     
  2. kristall0v
    kristall0v Topic starter Mar 23, 2022 статус продаётся, честь тоже 31,366 Sep 24, 2019
    сделал сам, не актуально
     
Top
Loading...