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

Найти сумму элементов массива между максимальным и минимальным элементами - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 34, средняя оценка - 4.62
юлияяяяяяя
0 / 0 / 0
Регистрация: 15.01.2011
Сообщений: 6
15.01.2011, 18:34     Найти сумму элементов массива между максимальным и минимальным элементами #1
помогите пожалуйста решить задачку, очень надо))

Найти сумму элементов массива А (100), заключенных между единственным максимальным и единственным минимальным элементами массива, не включая эти элементы (номера максимальных и минимальных элементов не известны).

заранее спасибо=*
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.01.2011, 18:34     Найти сумму элементов массива между максимальным и минимальным элементами
Посмотрите здесь:

C++ Составить программу,которая вычисляет сумму элементов массива, которые расположены между максимальным и минимальным элементами.
C++ Найти сумму элементов массива, расположенных между элементами с минимальным и максимальным значением
C++ В массиве А найти сумму элементов, расположенных между минимальным и максимальным элементами массива
Вычислить сумму отрицательных элементов массива и произведение элементов, расположенных между максимальным и минимальным элементами C++
В одномерном массиве вычислить сумму отрицательных элементов, произведение элементов массива между максимальным и минимальным элементами C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
15.01.2011, 18:48     Найти сумму элементов массива между максимальным и минимальным элементами #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int ind_min = 0, ind_max = 0, sum = 0;
 
for(int i = 0; i < arr_size; ++i)
    if(arr[ind_min] > arr[i])
        ind_min = i;
 
for(int i = 0; i < arr_size; ++i)
    if(arr[ind_max] < arr[i])
        ind_max = i;
 
if(ind_min < ind_max)
{
    for(int i = ind_min + 1; i < ind_max; ++i)
        sum += arr[i];
}
else if(ind_min > ind_max)
{
    for(int i = ind_max + 1; i < ind_min; ++i)
        sum += arr[i];
}
юлияяяяяяя
0 / 0 / 0
Регистрация: 15.01.2011
Сообщений: 6
15.01.2011, 18:54  [ТС]     Найти сумму элементов массива между максимальным и минимальным элементами #3
огромное спасибо=*
MegaAce
 Аватар для MegaAce
330 / 304 / 65
Регистрация: 14.02.2010
Сообщений: 662
15.01.2011, 19:08     Найти сумму элементов массива между максимальным и минимальным элементами #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
int index_min=0,index_max=0,proiz=1;
 
 int min=mass[0], max=mass[0];
 for(int i=1;i<n;i++)
 {
  if(min<mass[i])
  {
   min=mass[i];
   index_min=i;
  }
  if(max>mass[i])
  {
   max=mass[i];
   index_max=i;
  }
 }
 
 cout<<endl<<"Index minimal="<<index_min<<" Index maximal"<<index_max<<endl;
 if(index_min<index_max)
        for(int i=index_min;i<=index_max;i++)
        proiz*=mass[i];
  else
        for(int i=index_max;i<=index_min;i++)
        proiz*=mass[i];
 cout<<"Proizvedenie ravno: "<<proiz<<endl;
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
15.01.2011, 19:08     Найти сумму элементов массива между максимальным и минимальным элементами #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <numeric>
#include <algorithm>
#include <ctime>
#define N 20
using namespace std;
 
int main(){
    srand(time(0));
    int mas[N];
    for(int i=0;i<N;i++){
        mas[i]=rand()%40-20;
        cout<<mas[i]<<"  ";
    }
    int *a=max_element(mas, mas+N);
    int *b=min_element(mas, mas+N);
    cout<<"\n"<<*a<<" "<<*b;
    a<b?cout<<"\n"<<accumulate(a+1, b, 0):cout<<"\n"<<accumulate(b+1, a, 0);
}
Black1978
0 / 0 / 0
Регистрация: 14.01.2013
Сообщений: 12
24.09.2014, 00:54     Найти сумму элементов массива между максимальным и минимальным элементами #6
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
#include <iostream> 
using namespace std; 
int main() 
{   
    setlocale(0,"rus");
    const int N = 50; // размер массива
    int i,min_val,max_val;
    int index_min=0;
    int index_max=0;
    int sum=0;
    int nums[N];
    for(i=0;i<N;i++)nums[i]=rand();
    for(i=0;i<N;i++)cout<<"Это элемент массива["<<i<<"]: "<<nums[i]<<"\n";
    cout<<"\n";
    min_val=max_val=nums[0];
    for(i=1;i<N;i++)
    {
        if(nums[i]<min_val)
{
min_val=nums[i];
index_min=i;
}
        if(nums[i]>max_val)
{
max_val=nums[i];
index_max=i;
}
    };
    cout<<"Номер элемента массива с минимальным значением : "<<index_min<<"("<<min_val<<")"<<"\n";
    cout<<"Номер элемента массива с максимальным значением: "<<index_max<<"("<<max_val<<")"<<"\n";
    cout<<"\n";
    if(index_min<index_max)
        for( i=index_min+1;i<index_max;i++)
        sum+=nums[i];
  else
        for(i=index_max+1;i<index_min;i++)
        sum+=nums[i];
 cout<<"Сумма значений элементов,находящихся между элементами с минимальным и максимальным значением: "<<sum<<"\n";
    
 
            return 0;
}
Может кому пригодиться.Решил подобную задачу по контрольной С++.
Yandex
Объявления
24.09.2014, 00:54     Найти сумму элементов массива между максимальным и минимальным элементами
Ответ Создать тему
Опции темы

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