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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
sergey 7 7
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 44
05.05.2013, 07:29     Вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <conio.h>
using namespace std;
int main()
{
    setlocale(LC_ALL, "RUS");
const int N=15;
        int i;
double mas[N], masMin, masMax, range; 
cout << "Введите элементы массива:\n";
    masMin = mas[0]; masMax = mas[0];//находим минимальное и максимальное значение элементов массива
for (i = 1; i < N; i++)
{
cout << "mas[" << i << "] -> ";
cin >> mas[i];
}
range = masMax*masMin;
cout << "произведение элементов массива между максимальным и минимальным элементами равна " <<range << "\n";
getch();
return 0;
}

помогите чутка....идеи есть как сделать...(надо в этом массиве который состоит из 15 элементов,найти максим и мин значение и как-то их удалить из массива и посчитать произведение оставшихся)но как надо?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2013, 07:29     Вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами
Посмотрите здесь:

Произведение элементов массива, расположенных между максимальным и минимальным элементами C++
C++ Вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами
C++ Произведение элементов массива, расположенных между максимальным и минимальным элементами
Вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами C++
Произведение элементов массива, расположенных между максимальным и минимальным элементами C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Miwa123
37 / 37 / 1
Регистрация: 16.04.2013
Сообщений: 317
Записей в блоге: 1
05.05.2013, 10:25     Вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами #2
первое что пришло в голову. это загнать 2 максимальных элемента в конец массива. сделать произведение в цикле всех членов-2. ща добавлю код
VipeR_SeD
0 / 0 / 0
Регистрация: 05.05.2013
Сообщений: 9
05.05.2013, 10:32     Вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами #3
Во первых тебе необходимо сложить значения расположенные МЕЖДУ мин. и макс. значениями.
Пример для случая когда мин. значения располагается первым:
1) Находишь индекс мин. значения.
2) Находишь индекс макс. значения
3) Через цикл "for" делаешь сумму элементов массива ОТ мин. ДО макс (В этом помогут тебе пункт 1,2)

Как сделать для случая когда макс первое-тоже самое,но с индексами помучится надо будет

И блин,оформляйте КОД в ТЕГИ кода
sergey 7 7
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 44
05.05.2013, 10:50  [ТС]     Вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами #4
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
#include "stdafx.h"
#include <iostream>
#include <math.h>
#include <conio.h>
using namespace std;
int main()
{
    setlocale(LC_ALL, "RUS");
const int N=15;
        int i;
double mas[N], masMin, masMax, range; 
cout << "Введите элементы массива:\n";
for (i = 0; i < N; i++)
{
cout << "mas[" << i << "] -> ";
cin >> mas[i];
}
masMin = mas[0]; masMax = mas[0];
for (i = 1; i < N; i++)
{
if (mas[i] < masMin) masMin = mas[i];
if (mas[i] > masMax) masMax = mas[i];
}
range = masMax*masMin;
cout << "произведение элементов массива между максимальным и минимальным элементами равна " <<range << "\n";
getch();
return 0;
}
Добавлено через 2 минуты
помойму работает так
Miwa123
37 / 37 / 1
Регистрация: 16.04.2013
Сообщений: 317
Записей в блоге: 1
06.05.2013, 00:08     Вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами #5
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#include <iostream>
using namespace std;
int max(double const*);
int min(double const*);
int main()
{
setlocale(LC_ALL, "RUS");
const int N=5;
double mas[N];
int i=0,index_min,index_max,proizv=1,j=0;
    for(i;i<N;i++)
        {
        cin>>mas[i];
        }
index_min=min(mas);
index_max=N-1-max(mas);
    if(index_max<index_min)
        {
        int temp=index_min;
        index_min=index_max;
        index_max=temp;
        }
    for(i=index_min+1;i<index_max;i++)
        {
            proizv*=mas[i];j++;
        }
    if(j<2)
            cout<<"1 ili 0 element mejdu nimi :(";
    else
            cout << proizv;
system("pause");
}
int max(double const *mass)
{
const int N=5;
double mas[N];
    for(int i=0;i<N;i++)
            mas[i]=mass[i];
int j=0;
    for(int i=0;i<N-1;i++)
        {       
            if(mas[i]>mas[i+1])
                {           
                    j++;
                    double temp;
                    temp=mas[i];
                    mas[i]=mas[i+1];
                    mas[i+1]=temp;
                }
            else
                    j=0;
        }
return j;
}
int min(double const *mass)
{
const int N=5;
double mas[N];
    for(int i=0;i<N;i++)
            mas[i]=mass[i];
    int j=0;
 
    for(int i=N-1;i>0;i--)
        {       
            if(mas[i]<mas[i-1])
                {
                    j++;
                    double temp;
                    temp=mas[i];
                    mas[i]=mas[i-1];
                    mas[i-1]=temp;
                }
            else
                    j=0;
        }
return j;
}
код громоздкий получился. но работает все отлично
Bend3r
 Аватар для Bend3r
142 / 129 / 17
Регистрация: 29.07.2012
Сообщений: 689
06.05.2013, 00:30     Вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами #6
Просто подсчитай произведение всех елементов, без максимума и минимума.
faLek
99 / 100 / 7
Регистрация: 06.03.2012
Сообщений: 478
06.05.2013, 01:18     Вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами #7
sergey 7 7, вы подумали ,что написали?
Вы взяли нашли максимальный и минимальный элементы и перемножили между собой,а нужно же все элементы которые между максимальным и минимальным элементами...
sergey 7 7
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 44
06.05.2013, 05:27  [ТС]     Вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами #8
Цитата Сообщение от faLek Посмотреть сообщение
Вы взяли нашли максимальный и минимальный элементы и перемножили между собой,а нужно же все элементы которые между максимальным и минимальным элементами...
вы правы.....тогда как чутька переделать надо?немного потерялся....
mabzZ
5 / 1 / 1
Регистрация: 28.03.2013
Сообщений: 13
06.05.2013, 06:01     Вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами #9
Цитата Сообщение от Miwa123 Посмотреть сообщение
setlocale(LC_ALL, "RUS");
....
cout<<"1 ili 0 element mejdu nimi ";

Не по теме:

Интересный подход: установить русскую локаль, но писать все равно на латинице



Добавлено через 12 минут
Цитата Сообщение от sergey 7 7 Посмотреть сообщение
вы правы.....тогда как чутька переделать надо?немного потерялся....
На словах: ищешь минимальный и максимальный элементы, запоминаешь их индексы и перемножаешь числа, расположенные между этими двумя индексами.
На примере: выше Миша123 тебе уже предложил вариант решения задачи, посмотри - переделай немного под свои нужды.
sergey 7 7
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 44
06.05.2013, 10:30  [ТС]     Вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами #10
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 "stdafx.h"
#include <iostream>
#include <math.h>
#include <conio.h>
using namespace std;
int main()
{
    setlocale(LC_ALL, "RUS");
const int N=15;
            int i,j, proizv,index_min,index_max;
double mas[N], masMin, masMax, range; 
cout << "Введите элементы массива:\n";
for (i = 0; i < N; i++)
{
cout << "mas[" << i << "] -> ";
cin >> mas[i];
}
masMin = mas[0]; masMax = mas[0];
for (i = 1; i < N; i++)
{
if (mas[i] < masMin) masMin = mas[i];
if (mas[i] > masMax) masMax = mas[i];
}
 for(i=index_min+1;i<index_max;i++)
        {
            proizv*=mas[i];j++;
        }
 cout << proizv;
getch();
return 0;
}
так правильно будет??
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.05.2013, 06:46     Вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
sergey 7 7
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 44
16.05.2013, 06:46  [ТС]     Вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами #11
всем спасибо)))
Yandex
Объявления
16.05.2013, 06:46     Вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами
Ответ Создать тему
Опции темы

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