Удалить из массива все отрицательные элементы через один(c++)

например есть массив 1 , -2, -3, -4, 5, 6, -7, -8, -9, 10

на выходе должно быть 1, -3, 5, 6, -8, 10

буду

без randomize

Гилязарт Гилязарт    2   05.12.2019 00:46    0

Ответы
KseshaMail KseshaMail  10.10.2020 18:31

// ConsoleApplication1.cpp : This file contains the 'main' function. Program execution begins and ends there.

//

#include <iostream>

#include <vector>

using std::cout;

int main()

{

   std::vector<int> ints = { 1 , -2, -3, -4, 5, 6, -7, -8, -9, 10 };

   cout << "vector before transformation: ";

   for (auto integer : ints) {

       cout << integer << " ";

   }

   cout << std::endl;

   for (std::size_t i = 1; i < ints.size(); ) {

       if (ints[i] < 0) {

           ints.erase(ints.begin() + i);

           i += 1;

           continue;

       }

       i += 2;

   }

   cout << "vector after transformation: ";

   for (auto integer : ints) {

       cout << integer << " ";

   }

   cout << std::endl;

}

Объяснение:

По условию создаем вектор, удаляем элементы из вектора, если число ниже 0, движемся через один элемент по вектору ¯\_(ツ)_/¯


Удалить из массива все отрицательные элементы через один(c++)например есть массив 1 , -2, -3, -4, 5,
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика