Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
 Аватар для Rhoxolan
13 / 13 / 7
Регистрация: 16.12.2020
Сообщений: 247

Произведение элементов массива, находящихся между min и max элементами

15.01.2021, 17:46. Показов 1627. Ответов 8

Студворк — интернет-сервис помощи студентам
Здравствуйте. Помогите, пожалуйста, с заданием по C++.

Нужно написать программу, которая будет высчитывать произведение элементов массива, находящихся между минимальным и максимальным значением массива. То есть, например, пользователь ввел: 2,2,2,1,2,2,2,3,2,2, и программа будет считать 2*2*2*2*2*2*2*2=256.

Подготовил код, в котором определяются минимальный и максимальный элемент массива, но не знаю, что написать дальше.

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<iostream>
using namespace std;
int main()
{
    setlocale (LC_ALL, "Rus");
    const int size=10;
    int ms[size];
    for (int i=0;i<size;i++)
    {
        cout<<"Введите значение "<<i+1<<"/10"<<"\n";
        cin>>ms[i];
    }
    int max=ms[0];
    int min=ms[0];
    for (int i=1;i<size;i++)
    {
        if (min>ms[i])
            min=ms[i];
        if (max<ms[i])
            max=ms[i];
        }
    return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.01.2021, 17:46
Ответы с готовыми решениями:

Произведение элементов целочисленного массива, находящихся между min и max элементами
Помогите пожалуйста написать программу которая вычисляла бы произведение элементов целочисленного массива, находящихся между минимальным...

Найти произведение элементов массива, находящихся между min и max элементами
В одномерном массиве, состоящем из N вещественных чисел вычислить: •Сумму отрицательных элементов. •Произведение элементов, находящихся...

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

8
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
15.01.2021, 17:54
Цитата Сообщение от Rhoxolan Посмотреть сообщение
но не знаю, что написать дальше.
нужно сохранять индексы (или итераторы), а не сами значения, что бы было от чего отталкиваться дальше.
0
168 / 73 / 33
Регистрация: 13.04.2019
Сообщений: 370
15.01.2021, 18:07
Rhoxolan,
Цитата Сообщение от Rhoxolan Посмотреть сообщение
произведение элементов массива, находящихся между минимальным и максимальным значением
В приведенном вами примере
2,2,2,1,2,2,2,3,2,2
Минимальный - 1, максимальный - 3
Между ними 3 двойки, разве не 2*2*2=8?
0
 Аватар для Rhoxolan
13 / 13 / 7
Регистрация: 16.12.2020
Сообщений: 247
15.01.2021, 18:11  [ТС]
Цитата Сообщение от Marina-Marina Посмотреть сообщение
В приведенном вами примере
2,2,2,1,2,2,2,3,2,2
Минимальный - 1, максимальный - 3
Между ними 3 двойки, разве не 2*2*2=8?
Я хочу сделать так, чтобы подсчитывалось произведение элементов независимо от позиции в массиве. То есть даже если и 2,2,2,2,2,2,2,2,1,3 - то все равно 2*2*2*2*2*2*2*2=256

Цитата Сообщение от _stanislav Посмотреть сообщение
нужно сохранять индексы (или итераторы), а не сами значения, что бы было от чего отталкиваться дальше.
Вот знать бы, как использовать это в коде и как применить в моей программе
0
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
15.01.2021, 18:27
Цитата Сообщение от Rhoxolan Посмотреть сообщение
Вот знать бы, как использовать это в коде и как применить в моей программе
1. Находишь индекс минимального
2. Находишь индекс максимального
3. Сравниваешь индексы и делаешь так что бы в любом случаешь перебор шел от меньшего индекса к большему

Добавлено через 12 минут
Цитата Сообщение от _stanislav Посмотреть сообщение
от меньшего индекса к большему
от меньшего значения к большему
0
168 / 73 / 33
Регистрация: 13.04.2019
Сообщений: 370
15.01.2021, 18:28
_stanislav, ТС пишет в задание одно, а хочет другое
Цитата Сообщение от Rhoxolan Посмотреть сообщение
высчитывать произведение элементов массива, находящихся между минимальным и максимальным значением массива
Цитата Сообщение от Rhoxolan Посмотреть сообщение
То есть даже если и 2,2,2,2,2,2,2,2,1,3 - то все равно 2*2*2*2*2*2*2*2=256
Ему даже индексы не нужны
Rhoxolan, если решать задачу по вашей логике, вам просто нужно найти
1) минимум и максимум
2) переумножать все элементы больше минимума и меньше максимума
0
 Аватар для Rhoxolan
13 / 13 / 7
Регистрация: 16.12.2020
Сообщений: 247
15.01.2021, 18:41  [ТС]
Цитата Сообщение от Marina-Marina Посмотреть сообщение
ТС пишет в задание одно, а хочет другое
Для этого я и привел пример, чтобы было понятно, чего я именно хочу от программы

Цитата Сообщение от Marina-Marina Посмотреть сообщение
Rhoxolan, если решать задачу по вашей логике, вам просто нужно найти
1) минимум и максимум
2) переумножать все элементы больше минимума и меньше максимума
Вот минимум и максимум я уже нашел в своём коде, я не знаю, как сделать так, что программа переумножала все элементы больше минимума и меньше максимума. Пробовал, но программа начинает считать какую-то ересь.
0
611 / 416 / 151
Регистрация: 11.01.2019
Сообщений: 1,746
15.01.2021, 20:28
Если учесть различное положение максимума и минимума друг относительно друга, а также то, что между ними может вообще не быть других элементов...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <algorithm>
#include <numeric>
 
auto prod(int a[], unsigned sz)
{
    auto min_max = std::minmax_element(a, a + sz);
    if (min_max.first > min_max.second) std::swap(min_max.first, min_max.second);
    if (min_max.first + 1 == min_max.second) return 0ll;
    return std::accumulate(min_max.first + 1, min_max.second, 1ll, [](auto init, auto elem) { return init * elem; });
}
 
int main()
{
    int a[] = {6, 30, 14, 7, 23, 2, 26, 25, 4};
    unsigned sz = sizeof(a) / sizeof(a[0]);
    std::cout << prod(a, sz);
    return 0;
}
1
 Аватар для Rhoxolan
13 / 13 / 7
Регистрация: 16.12.2020
Сообщений: 247
15.01.2021, 21:29  [ТС]
Цитата Сообщение от jugu Посмотреть сообщение
Если учесть различное положение максимума и минимума друг относительно друга, а также то, что между ними может вообще не быть других элементов...
Да уж, жесть... Тут вроде только массивы начал изучать, до этого простенькие циклы проходил, а тут такая жара пошла, алгоритмы, auto

В любом случае спасибо, буду пробовать внедрять в код. Наверное не выйдет
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.01.2021, 21:29
Помогаю со студенческими работами здесь

В массиве, состоящем из N вещественных чисел вычислить: Произведение элементов,находящихся между min и max элементами
Доброго времени суток.Не могу понять,где моя ошибка. Подскажите, пожалуйста. #include &lt;iostream&gt; #include &lt;time.h&gt; ...

Нужно найти произведение между min и max элементами массива
Нужно найти произведение между min и max... #include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; ...

Найти среднее арифметическое элементов между min и max элементами массива
Найти среднеарифметическое чисел, находящихся между максимальным и минимальным элементами массива (включая эти элементы в вычисление...

Функция: посчитать сумму элементов, расположенных между max и min элементами массива
у меня есть программа. в неё надо дописать функцию, которая будет считать сумму элементов, расположенных между max и min значениями. и...

Вычислить произведение элементов массива, находящихся между минимальным и максимальным элементами
Вычислить произведение элементов целочисленного массива, находящихся между минимальным и максимальным элементами. Определить номера...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru