Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
gr132
0 / 0 / 1
Регистрация: 31.10.2016
Сообщений: 38
#1

Удалить первый положительный элемент массива; вставить новый элемент перед первым максимальным элементом - C++

22.11.2016, 05:51. Просмотров 257. Ответов 1
Метки нет (Все метки)

Дан целочисленный массив размера N.
Как удалить первый положительный элемент ?
Как вставить новый элемент перед первым максимальным элементом массива ?

Вот только начал изучать вообще программирование, без понятия как делать, подскажите.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2016, 05:51
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Удалить первый положительный элемент массива; вставить новый элемент перед первым максимальным элементом (C++):

В целочисленном массиве вставить новый элемент перед первым отрицательным элементом
В одномерном массиве, элементы которого - целые числа, произвести следующие...

Перед указанным элементом массива вставить новый элемент
Дан массив размера N и целое число K (1 ≤ K ≤ N). Перед элемен- том массива с...

Перед элементом массива с порядковым номером K вставить новый элемент
Дан массив размера N и целое число K (1 ≤ K ≤ N). Перед элементом массива с...

Перед элементом массива с порядковым номером K вставить новый элемент с нулевым значением
Дан массив размера N и целое число K (1 ≤ K ≤ N). Перед элементом массива с...

Удалить первый элемент с заданным объемом информации, добавить элемент перед элементом с указанным номером
Структура "Информация": - носитель; - объем; - название; - автор. Удалить...

Доработка структуры (удалить первый элемент с заданным объемом информации, добавить элемент перед элементом с указанным номером)
//---------------------------------------------------------------------------...

1
gru74ik
Модератор
Эксперт CЭксперт С++
4647 / 1961 / 292
Регистрация: 20.02.2013
Сообщений: 5,219
Записей в блоге: 23
22.11.2016, 06:54 #2
Лучший ответ Сообщение было отмечено gr132 как решение

Решение

gr132, можно вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <iostream>
#include <vector>
#include <algorithm>
#include <random>
 
template <class T>
void show( const T & arr )
{
    for ( const auto & elem : arr )
        std::cout << elem << " ";
    std::cout << "\n";
}
 
int main()
{
    const int FROM_NUM = -9;
    const int TO_NUM = 9;
 
    std::mt19937 gen { std::random_device()() };
    std::uniform_int_distribution<int> dist( FROM_NUM, TO_NUM );
 
    const size_t N = 10;
 
    std::vector<int> arr(N);
    std::generate( arr.begin(), arr.end(), [&dist, &gen] () { return dist( gen ); } );
 
    show( arr );
 
    auto it = std::find_if( arr.begin(), arr.end(), [] ( int x ) { return x > 0; } );
    arr.erase( it );
    std::vector<int>( arr ).swap( arr );
 
    show( arr );
    
    it = std::max_element( arr.begin(), arr.end() );
    
    if ( it != arr.end() - 1 )
        arr.insert( it + 1, 99 ); // число 99 взято от балды - можете взять любое на Ваш вкус
    else
        arr.push_back( 99 );
 
    show( arr );
 
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.11.2016, 06:54
Привет! Вот еще темы с решениями:

Вставить в вектор новый элемент перед элементом с заданным индексом
Здравствуйте. У меня следующая проблема: Мне в программе нужно в вектор...

Исключить из массива первый положительный элемент, следующий за максимальным
Дан одномерный массив А, состоящий из N элементов.Исключить из массива первый...

Удалить первый положительный элемент массива
Помогите докончить и исправить код, и объясните мне: 1) Как изменить размер...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru