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

Итераторы ( вычислить произведение элементов последовательности, расположенных между максимальным и минимальным элементами) - C++

Восстановить пароль Регистрация
 
nikadim
0 / 0 / 0
Регистрация: 28.09.2012
Сообщений: 15
27.02.2013, 15:03     Итераторы ( вычислить произведение элементов последовательности, расположенных между максимальным и минимальным элементами) #1
Дана последовательность действительных чисел. Необходимо вычислить произведение элементов последовательности, расположенных между максимальным и минимальным элементами (считать, что максимальный и минимальный элементы единственные).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2013, 15:03     Итераторы ( вычислить произведение элементов последовательности, расположенных между максимальным и минимальным элементами)
Посмотрите здесь:

C++ Вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами
C++ Произведение элементов массива, расположенных между максимальным и минимальным элементами
Вычислить сумму отрицательных элементов массива и произведение элементов, расположенных между максимальным и минимальным элементами C++
вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами; C++
вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами; C++
вычислить произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами C++
C++ Вычислить произведение элементов массива, расположенных между максимальным и минимальным по модулю элементами
Вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
olya7
476 / 293 / 91
Регистрация: 18.02.2013
Сообщений: 684
27.02.2013, 15:16     Итераторы ( вычислить произведение элементов последовательности, расположенных между максимальным и минимальным элементами) #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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <iostream.h>
#include <math.h>
 
int main()
{
    int *a,n,i,max,min,i_max=-1,i_min=-1,k=0,p=1,nach,kon;
    cin>>n;
    cout<<endl;
    a=new int [n];
    for (i=0;i<n;i++)
        cin>>a[i];
    cout<<endl;
    min=a[0];
    max=a[0];
    for (i=0;i<n;i++)
        if (a[i]>max) 
        {
            max=a[i];
            i_max=i;
        }
        else 
            if (a[i]<min) 
        {
            min=a[i];
            i_min=i;
        }
            
            if(i_min==i_max) 
                    {
                        cout<<"Vveden tolko odin element"<<endl;
                        return 0;
                    }
                    else
                        if(fabs(i_min-i_max)==1)
                            {
                        cout<<"Riadomstoiaschie"<<endl;
                        return 0;
                    }
                        else
            if (i_min<i_max) 
            {
                nach=i_min;
                kon=i_max;
            }
            else
                if (i_min>i_max) 
            {
                kon=i_min;
                nach=i_max;
            }
            
                    
 
                
    for (i=nach+1;i<kon;i++)
        p*=a[i];
        cout<<k;
    delete[]a;
    return 0;
 
}
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
27.02.2013, 16:23     Итераторы ( вычислить произведение элементов последовательности, расположенных между максимальным и минимальным элементами) #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <array>
#include <algorithm>
#include <iterator>
#include <functional>
#include <numeric>
 
int main() 
{
    std::array<int, 16> ar = {92,4,3,10,19,65,7,2,31,7,6,2,3,5,17,1};
    auto minmax = std::minmax_element(ar.begin(), ar.end());
    std::cout<<"min = "<<*minmax.first<<"; max = "<<*minmax.second<<"\n";
    if (std::distance(ar.begin(), minmax.first) > std::distance(ar.begin(), minmax.second))
        std::swap(minmax.first, minmax.second);
    std::cout<<"Result = "<<std::accumulate(minmax.first, minmax.second, 1, std::multiplies<int>())<<"\n";
    return 0;
}
Yandex
Объявления
27.02.2013, 16:23     Итераторы ( вычислить произведение элементов последовательности, расположенных между максимальным и минимальным элементами)
Ответ Создать тему
Опции темы

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