В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История

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

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

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

буду

без randomize

Показать ответ
Ответ:
Drftdsrx
Drftdsrx
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,
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота