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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
СнежанкаЯяЯ
0 / 0 / 0
Регистрация: 10.05.2010
Сообщений: 8
#1

Составить программу,которая вычисляет сумму элементов массива, которые расположены между максимальным и минимальным элементами. - C++

10.05.2010, 01:49. Просмотров 1868. Ответов 25
Метки нет (Все метки)

Составить программу,которая вычисляет сумму элементов неупорядоченного целочисленного массива М, который состоит из 12 чисел, которые не повторяются,
расположенных между ёё максимальным и минимальным элементами.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2010, 01:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Составить программу,которая вычисляет сумму элементов массива, которые расположены между максимальным и минимальным элементами. (C++):

Найти среднее арифметическое тех элементов, которые расположены между максимальным и минимальным элементами - C++
Средствами ООП решить задачу: Случайным образом вводятся 20 вещественных элементов массива. Найти среднее арифметическое тех элементов,...

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

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

Найти сумму элементов массива, расположенных между минимальным и максимальным элементами - C++
дан вещественный массив A(n). найти сумму элементов массива, расположенных между минимальным и максимальным элементами.

В массиве А найти сумму элементов, расположенных между минимальным и максимальным элементами массива - C++
Есть программа, которая выполняет следующее: 1) Ввод массива 3 разными способами. 2) Удаляет из массива первый из нечётных элементов. ...

Найти сумму элементов массива, расположенных между элементами с минимальным и максимальным значением - C++
Одномерный массив. Число элементов массива задаётся пользователем. Элементы могут заполняться как вручную, так и случайным образом.Найти...

25
genius5
114 / 36 / 2
Регистрация: 13.12.2009
Сообщений: 223
10.05.2010, 02:00 #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#define n 12
int main(void)
{int mas[n]={1,2,3,0,5,4,3,2,6,7,20,4},i,r,min=mas[0],max=mas[0],nmin=0,nmax=0,sum=0;
 
 
for(i=0;i<n;i++)
if(min>mas[i]){min=mas[i];nmin=i;}
if(max<mas[i]{max=mas[i];nmax=i;}
}
if(nmin>nmax){r=nmin;nmin=nmax;nmax=r;}
for(i=nmin;i<=nmax;i++)
{sum+=mas[i];}
printf("summa=%d ",sum);
return 0;}
0
Darky
Быдлокодер
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
10.05.2010, 06:18 #3
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
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <algorithm>
#include <conio.h>
  #define N 12
using namespace std;
int main()
{
srand((unsigned)time(0));
  int A[N],i;
  for (i=0;i<N;i++)
  {
    A[i]=rand();
    cout<<A[i]<<" ";
  }
  int max=*std::max_element(A,A+N),max_i=0;
  int min=*std::min_element(A,A+N),min_i=0;
  for (i=0;i<N;i++)
  {
    if (max==A[i]) max_i=i;
    if (min==A[i]) min_i=i;
  }
  int sum=0;
  for (i=max_i;i<min_i;i++)
    sum+=A[i];
  cout<<"\n"<<sum;
  getch();
}
Добавлено через 2 минуты
genius5, В коде ошибки и он работает неправильно.
0
valeriikozlov
Эксперт С++
4675 / 2501 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
10.05.2010, 06:47 #4
Цитата Сообщение от Darky Посмотреть сообщение
genius5, В коде ошибки и он работает неправильно.
Да у него есть ошибки, а именно:

Цитата Сообщение от genius5 Посмотреть сообщение
for(i=nmin;i<=nmax;i++)
{sum+=mas[i];}
И у Вас тоже половина этой же ошибки :
Цитата Сообщение от Darky Посмотреть сообщение
for (i=max_i;i<min_i;i++)
Ключевое слово здесь "между":
Цитата Сообщение от СнежанкаЯяЯ Посмотреть сообщение
Составить программу,которая вычисляет сумму элементов неупорядоченного целочисленного массива М, который состоит из 12 чисел, которые не повторяются,
расположенных между ёё максимальным и минимальным элементами.
Кроме того в Вашей программе не учтено (в отличии от программы genius5), что максимальный элемент может встретиться раньше, чем минимальный.
0
CyBOSSeR
Эксперт С++
2305 / 1675 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
10.05.2010, 09:11 #5
СнежанкаЯяЯ, проверяй:
C++
1
2
3
4
5
6
7
8
#include <algorithm>
#include <numeric>
 
int Sum(int* arr, int size) {
  int* pmin = min_element(arr, arr + size);
  int* pmax = max_element(arr, arr + size);
 
  return pmin < pmax? std::accumulate(pmin + 1, pmax, 0) : std::accumulate(pmax + 1, pmin, 0);
1
Darky
Быдлокодер
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
10.05.2010, 09:37 #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
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <algorithm>
#include <conio.h>
  #define N 12
using namespace std;
int main()
{
srand((unsigned)time(0));
  int A[N],i;
  for (i=0;i<N;i++)
  {
    A[i]=rand();
    cout<<A[i]<<" ";
  }
  int max=*std::max_element(A,A+N),max_i=0;
  int min=*std::min_element(A,A+N),min_i=0;
  for (i=0;i<N;i++)
  {
    if (max==A[i]) max_i=i;
    if (min==A[i]) min_i=i;
  }
  int sum=0;
  if (max_i<min_i)
  {
    for (i=max_i+1;i<min_i;i++)
      sum+=A[i];
  }
  else
  {
    for (i=min_i+1;i<max_i;i++)
      sum+=A[i];
  }
  cout<<"\n"<<sum;
  getch();
}

Не по теме:

ве-ло-си-пед..(с)



Добавлено через 58 секунд
CyBOSSeR, Для студентки первого курса такой код может быть неподъемным
0
CyBOSSeR
Эксперт С++
2305 / 1675 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
10.05.2010, 10:24 #7

Не по теме:

Цитата Сообщение от Darky Посмотреть сообщение
CyBOSSeR, Для студентки первого курса такой код может быть неподъемным
Возможно, но как вариант, пусть будет.


Чуть поправил:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <algorithm>
#include <numeric>
 
int Sum(int* arr, int size) {
  int* pmin = min_element(arr, arr + size);
  int* pmax = max_element(arr, arr + size);
 
  if (pmin == pmax)
    return 0;
 
  return pmin < pmax? std::accumulate(pmin + 1, pmax, 0) : std::accumulate(pmax + 1, pmin, 0);
}
1
genius5
114 / 36 / 2
Регистрация: 13.12.2009
Сообщений: 223
10.05.2010, 10:29 #8
я просто не проверял прогу там грубых ошибок быть не должно надеелся исправить сможете
0
СнежанкаЯяЯ
0 / 0 / 0
Регистрация: 10.05.2010
Сообщений: 8
10.05.2010, 11:28  [ТС] #9
Так какая из всех программ правильная?
0
genius5
114 / 36 / 2
Регистрация: 13.12.2009
Сообщений: 223
10.05.2010, 11:36 #10
мою отладь и всё)
0
СнежанкаЯяЯ
0 / 0 / 0
Регистрация: 10.05.2010
Сообщений: 8
10.05.2010, 11:39  [ТС] #11
а что Darky сделал.Оно правильное?
0
genius5
114 / 36 / 2
Регистрация: 13.12.2009
Сообщений: 223
10.05.2010, 11:59 #12
я не сарел еси чесно
0
СнежанкаЯяЯ
0 / 0 / 0
Регистрация: 10.05.2010
Сообщений: 8
10.05.2010, 11:59  [ТС] #13
Я просто ничего не знаю.Вот и обратилась к вам
0
genius5
114 / 36 / 2
Регистрация: 13.12.2009
Сообщений: 223
10.05.2010, 12:04 #14
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 #include <stdio.h>
#define n 12
int main(void)
{int mas[n]={1,2,3,0,5,4,3,2,6,7,20,4},i,r,min=mas[0],max=mas[0],nmin=0,nmax=0,sum=0;
 
 
for(i=0;i<n;i++)
{if(min>mas[i]){min=mas[i];nmin=i;}
if(max<mas[i]){max=mas[i];nmax=i;}
}
if(nmin>nmax){r=nmin;nmin=nmax;nmax=r;}
for(i=nmin;i<=nmax;i++)
{sum+=mas[i];}
printf("summa=%d ",sum);
return 0;}
Добавлено через 58 секунд
вот подправленная просто скоки нужны были))
0
СнежанкаЯяЯ
0 / 0 / 0
Регистрация: 10.05.2010
Сообщений: 8
10.05.2010, 12:10  [ТС] #15
Всё..... в ней ниче изменять не надо?
0
10.05.2010, 12:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.05.2010, 12:10
Привет! Вот еще темы с ответами:

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

Найти сумму и количество положительных элементов, расположенных между минимальным и максимальным элементами массива. - C++
Дан массив А(30). Найти сумму и количество положительных элементов, расположенных между минимальным и максимальным элементами массива. С++

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

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


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

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

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