Форум программистов, компьютерный форум CyberForum.ru

Одномерный массив. Найти произведение элементов массива, расположенных между максимальным и минимальным элементами - C++

Восстановить пароль Регистрация
 
desertraichu
0 / 0 / 0
Регистрация: 18.10.2013
Сообщений: 16
20.12.2013, 15:48     Одномерный массив. Найти произведение элементов массива, расположенных между максимальным и минимальным элементами #1
Всем доброго времени суток!
Дан одномерный массив, состоящий из N вещественных элементов. Найти произведение элементов массива, расположенных между максимальным и минимальным элементами.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2013, 15:48     Одномерный массив. Найти произведение элементов массива, расположенных между максимальным и минимальным элементами
Посмотрите здесь:

Произведение элементов массива, расположенных между максимальным и минимальным элементами C++
Произведение элементов массива, расположенных между максимальным и минимальным элементами C++
C++ произведение элементов массива, расположенных между максимальным и минимальным элементами.
C++ Произведение элементов массива, расположенных между максимальным и минимальным элементами
C++ Произведение элементов массива, расположенных между максимальным и минимальным элементами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Amandosov
Знаток
156 / 156 / 65
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
20.12.2013, 15:51     Одномерный массив. Найти произведение элементов массива, расположенных между максимальным и минимальным элементами #2
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
#include <iostream>
using namespace std;
 
int main()
{
float a[1000],max,min,buf,p=1.0;
int x,y,n; 
cin>>n;
for(int i=0;i<n;i++)
 cin>>a[i];
 
max=a[0];min=a[0];
x=0;y=0;
 
for(int i=0;i<n;i++)
{
 if(a[i]>max) {max=a[i];x=i;}
 if(a[i]<min) {min=a[i];y=i;}
}
 
if(y>x) {buf=x;x=y;y=buf;}
for(int i=y;i<=x;i++)
{
 p*=a[i];
}
 
 cout<<"Proizvedenie: "<<p<<endl;
 
 
return 0;
}
n05
0 / 0 / 0
Регистрация: 12.12.2013
Сообщений: 13
20.12.2013, 15:59     Одномерный массив. Найти произведение элементов массива, расположенных между максимальным и минимальным элементами #3
Спасибо,но немного не понятно зачем вводить столько переменных,если несложно,поясни.
Кудаив
328 / 405 / 24
Регистрация: 27.05.2012
Сообщений: 1,162
Завершенные тесты: 2
20.12.2013, 16:10     Одномерный массив. Найти произведение элементов массива, расположенных между максимальным и минимальным элементами #4
Цитата Сообщение от Amandosov Посмотреть сообщение
float a[1000],max,min,buf,p=1.0;
а если несколько элементов имеют значение равное максимальному?
Amandosov
Знаток
156 / 156 / 65
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
20.12.2013, 16:13     Одномерный массив. Найти произведение элементов массива, расположенных между максимальным и минимальным элементами #5
n05,
max - максимальное значение
min - минимальное значение
x - расположение максимального элемента
y - расположение минимального элемента
p - произведение
buf - место для временного хранение данных

Добавлено через 2 минуты
в этой программе производим значение между первым максимальным и первым минимальным значениями
Кудаив
328 / 405 / 24
Регистрация: 27.05.2012
Сообщений: 1,162
Завершенные тесты: 2
20.12.2013, 16:16     Одномерный массив. Найти произведение элементов массива, расположенных между максимальным и минимальным элементами #6
Цитата Сообщение от Amandosov Посмотреть сообщение
между первым максимальным и первым минимальным значениями
в твоем коде - между последним максимальным и последним минимальным
n05
0 / 0 / 0
Регистрация: 12.12.2013
Сообщений: 13
20.12.2013, 16:17     Одномерный массив. Найти произведение элементов массива, расположенных между максимальным и минимальным элементами #7
спасибо,теперь все понятно
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
20.12.2013, 17:00     Одномерный массив. Найти произведение элементов массива, расположенных между максимальным и минимальным элементами #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <algorithm>
#include <functional>
#include <iterator>
#include <utility>
 
int main()
{
    const int n = 10;
    double a[n] = {6,2,3,4,5,1,7,8,9,0};
    
    auto range = std::minmax_element(std::begin(a), std::end(a));
    if (range.first > range.second) range = std::make_pair(range.second, range.first);
    std::cout << std::accumulate(
        std::next(range.first), 
        std::prev(range.second), 
        1, 
        std::multiplies<double>()
    );
    
    return EXIT_SUCCESS;
}
Почему этот код падает с ошибкой "Segmentation fault (core dumped)"
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2013, 21:06     Одномерный массив. Найти произведение элементов массива, расположенных между максимальным и минимальным элементами
Еще ссылки по теме:

Произведение элементов массива, расположенных между максимальным и минимальным элементами C++
Одномерный массив ( вычислить произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами) C++
C++ Найти произведение элементов массива, расположенных между максимальным и минимальным элементами

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

Или воспользуйтесь поиском по форуму:
Amandosov
Знаток
156 / 156 / 65
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
20.12.2013, 21:06     Одномерный массив. Найти произведение элементов массива, расположенных между максимальным и минимальным элементами #9
Цитата Сообщение от Кудаив Посмотреть сообщение
в твоем коде - между последним максимальным и последним минимальным
Я говорю тебе, между первыми!!!
Если между последним то должен быть так!!!
C++
1
2
 if(a[i]>=max) {max=a[i];x=i;}
 if(a[i]<=min) {min=a[i];y=i;}
Yandex
Объявления
20.12.2013, 21:06     Одномерный массив. Найти произведение элементов массива, расположенных между максимальным и минимальным элементами
Ответ Создать тему
Опции темы

Текущее время: 07:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru