0 / 0 / 0
Регистрация: 13.12.2017
Сообщений: 3
1

Массив: Получить новый массив между максимальным и минимальным элементом этого массива

16.01.2018, 17:45. Показов 1725. Ответов 2
Метки нет (Все метки)

Помогите пожалуйста с задачей, не понимаю в чём ошибка.
При вводе массива 3 8 4 5 7 1 2, он ДОЛЖЕН выводить 3 8 1 2, а выводит 3 8 4 5 7 1 2. Может я задачу просто не понял и код неправильный(
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.01.2018, 17:45
Ответы с готовыми решениями:

Получить массив В, содержащий элементы массива А, расположенные между максимальным и минимальным элементами массива
Люди добрые, помогите решить задачку. Дан одномерный массив А, состоящий из целых чисел. Получить...

Найти разницу между максимальным и минимальным элементом массива
1) Напишите программу, которая вводит с клавиатуры 15 реальных цифр, организует их хранения в...

Одномерный массив. Найти произведение элементов массива, расположенных между максимальным и минимальным элементами
Всем доброго времени суток! Дан одномерный массив, состоящий из N вещественных элементов. Найти...

Найти количество нулей среди элементов массива, расположенных между минимальным и максимальным элементом массива.
Программу по нахождению количества нулевых элементов в массиве составила а как сделать так чтобы...

2
1751 / 1343 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
17.01.2018, 02:14 2
Лучший ответ Сообщение было отмечено Artak2017 как решение

Решение

Ну раз свой вариант кода вы не предоставили, то тогда я предоставлю свой. Учитывается вероятность того, что сначала будет идти минимальный
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
#include <random>
 
int main()
{
    std::default_random_engine gen{ std::random_device()() };
    std::uniform_int_distribution<> dist(-20, 20);
    std::size_t length = 15;
    std::vector<int> a(length), b;
    std::generate(a.begin(), a.end(), [&dist, &gen] {return dist(gen); });
    std::copy(a.begin(), a.end(), std::ostream_iterator<int>(std::cout, " "));
    std::vector<int>::iterator max = std::max_element(a.begin(), a.end()), min = std::min_element(a.begin(), a.end());
    int from = std::distance(a.begin(), max), to = std::distance(a.begin(), min);
    if (from > to) std::swap(from, to);
    for (std::size_t i = from + 1; i <= to - 1; i++) b.push_back(a[i]);
    std::cout << std::endl;
    std::copy(b.begin(), b.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
}
Добавлено через 5 минут
Цитата Сообщение от Artak2017 Посмотреть сообщение
При вводе массива 3 8 4 5 7 1 2, он ДОЛЖЕН выводить 3 8 1 2
а как по мне формулировка "между максимальным и минимальным элементом" подразумевает вывод 4 5 7
1
1718 / 567 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
17.01.2018, 08:20 3
Лучший ответ Сообщение было отмечено Artak2017 как решение

Решение

Цитата Сообщение от Hitoku Посмотреть сообщение
std::vector<int>::iterator max = std::max_element(a.begin(), a.end()), min = std::min_element(a.begin(), a.end());
Hitoku, чтобы не бегать 2 раза есть функция minmax_element
http://www.cplusplus.com/refer... ax_element
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.01.2018, 08:20
Помогаю со студенческими работами здесь

Подсчитать сумму элементов, расположенных между максимальным и минимальным элементом массива
1)Подсчитать сумму элементов, расположенных между максимальным и минимальным элементами...

Найти сумму элементов массива, расположенных между минимальным и максимальным элементом
Написать программу на языке С ++. Сформировать массив чисел, по формуле. Диапазон переменных...

Вычислить сумму элементов массива, расположенных между максимальным и минимальным элементом
вычислить сумму элементов,расположенных между максимальным и минимальным элементом (первыми по...

Дан массив размера N. Обнулить элементы массива, расположенные между его минимальным и максимальным элементами
помогите! ! ! работу нужно сделать в С++


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru