Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
sergey 7 7
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 44
#1

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

05.05.2013, 07:29. Просмотров 1468. Ответов 10
Метки нет (Все метки)

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 элементов,найти максим и мин значение и как-то их удалить из массива и посчитать произведение оставшихся)но как надо?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2013, 07:29
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами (C++):

Вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами - C++
Здравствуйте! Помогите найти ошибку. если можно, исправьте пожалуйста. Ошибка в цикле. Задание: В одномерном массиве, состоящем из n...

Вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами - C++
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 2) произведение элементов массива, расположенных между...

Вычислить произведение элементов массива расположенных между максимальным и минимальным элементами - C++
Произведение элементов массива расположенных между максимальным и минимальным элементами. П.5. 18.Правил Запрещено размещать задания и...

Вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами - C++
#include &quot;stdafx.h&quot; #include &lt;conio.h&gt; const int N=4; int main() { int mas={1, 2,3,4,}; bool flag1=0, flag2=0, flag3=0; ...

Вычислить произведение элементов массива, расположенных между максимальным и минимальным по модулю элементами - C++
1 задача. Пусть дан одномерный массив A(N). Вычислить произведение элементов массива, расположенных между максимальным и минимальным по...

Вычислить сумму отрицательных элементов массива и произведение элементов, расположенных между максимальным и минимальным элементами - C++
Помогите пожалуйста в одномерном массиве, состоящих из вещественных элементов вычислить: 1)сумму отрицательных элементов массива ...

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

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

И блин,оформляйте КОД в ТЕГИ кода
0
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 минуты
помойму работает так
0
Miwa123
37 / 37 / 1
Регистрация: 16.04.2013
Сообщений: 319
Записей в блоге: 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;
}
код громоздкий получился. но работает все отлично
1
Bend3r
149 / 136 / 18
Регистрация: 29.07.2012
Сообщений: 709
06.05.2013, 00:30 #6
Просто подсчитай произведение всех елементов, без максимума и минимума.
0
faLek
100 / 101 / 7
Регистрация: 06.03.2012
Сообщений: 478
06.05.2013, 01:18 #7
sergey 7 7, вы подумали ,что написали?
Вы взяли нашли максимальный и минимальный элементы и перемножили между собой,а нужно же все элементы которые между максимальным и минимальным элементами...
0
sergey 7 7
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 44
06.05.2013, 05:27  [ТС] #8
Цитата Сообщение от faLek Посмотреть сообщение
Вы взяли нашли максимальный и минимальный элементы и перемножили между собой,а нужно же все элементы которые между максимальным и минимальным элементами...
вы правы.....тогда как чутька переделать надо?немного потерялся....
0
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 тебе уже предложил вариант решения задачи, посмотри - переделай немного под свои нужды.
0
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;
}
так правильно будет??
0
sergey 7 7
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 44
16.05.2013, 06:46  [ТС] #11
всем спасибо)))
0
16.05.2013, 06:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.05.2013, 06:46
Привет! Вот еще темы с ответами:

Произведение элементов массива, расположенных между максимальным и минимальным элементами - C++
помогите мне разобраться с массивами. я работаю с программой MS Visual Studio 2008. не получается написать код программы. вот само...

Произведение элементов массива, расположенных между максимальным и минимальным элементами - C++
Добрый вечер. Помогите разобраться с массивами. Поиск изал но толком ничего понятного для себя не нашел. Делать программу пытался сам но...

Произведение элементов массива, расположенных между максимальным и минимальным элементами - C++
В динамическом массиве, состоящем из n вещественных величин. А. Сумму отрицательных элементов массива В. Произведение элементов...

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru