Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.54/35: Рейтинг темы: голосов - 35, средняя оценка - 4.54
marus'ka
2 / 2 / 0
Регистрация: 06.06.2010
Сообщений: 14
1

Найти произведение элементов массива, расположенных между максимальным и минимальным элементами

02.07.2010, 23:47. Просмотров 6958. Ответов 7
Метки нет (Все метки)

в одномерном массиве,состоящем из n вещественных элементов,вычислить:
1)сумму отрицательных элементов массива
2)произведение элементов массива,расположенных между максимальным и минимальным элементами.
Упорядочить элементы массива по возрастанию.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.07.2010, 23:47
Ответы с готовыми решениями:

Найти произведение элементов массива, расположенных между максимальным и минимальным элементами
Найти произведение элементов массива, расположенных между максимальным и...

Найти произведение элементов массива,расположенных между минимальным и максимальным элементами
2.Найти произведение элементов массива,расположенных между минимальным и...

Найти произведение элементов массива , расположенных между максимальным и минимальным элементами
Здравствуйте!:) Прошел несколько тем по C++ , а именно Базовые средства языка...

Найти произведение элементов массива, расположенных между максимальным и минимальным элементами
Помогите, пожалуйста. Как найти произведение элементов массива, расположенных...

Найти произведение элементов массива, расположенных между максимальным и минимальным элементами
Спасибо! Можно еще вопрос: объявлен одномерный динамический массив b размером...

7
XuTPbIu_MuHTAu
Эксперт С++
2234 / 749 / 25
Регистрация: 27.05.2008
Сообщений: 1,498
03.07.2010, 18:33 2
Цитата Сообщение от marus'ka Посмотреть сообщение
Упорядочить элементы массива по возрастанию.
Алгоритмы сортировок

Добавлено через 1 минуту
Цитата Сообщение от marus'ka Посмотреть сообщение
1)сумму отрицательных элементов массива

C++
1
2
3
4
5
6
7
8
int neg(int * arr,int n) { 
  int s = 0;
  for(int i = 0;i<n;i++) {  
    if(arr[i] <0 ) 
       s+=arr[i];
    }
  return s;
}
1
kokobill
1 / 1 / 0
Регистрация: 03.07.2010
Сообщений: 6
03.07.2010, 21:20 3
всё зависит от того, что вы уже прошли, учили выделение памяти для массива через malloc, массив надо вводить с клавиатуры, задавать как константы, или считывать из файла. Делать всё в main, или выделять каждое задание в отдельную функцию
1
serrg
68 / 68 / 4
Регистрация: 02.07.2010
Сообщений: 228
03.07.2010, 21:28 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

2) нет ничего проще
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int pr(int * arr,int n)
{
  int max = 0, min=0 ,p=1;
  for(int i = 1;i<n;i++)
  {  
    if(arr[i] <arr[min] ) 
       min=i;
    if(arr[i] >arr[max] ) 
       max=i;
  }
  if (min<=max)
    return 0;
  for(int i = max+1;i<min;i++)
    p*=arr[i];
  return p; 
}
1) лучше провести после сортировки
тогда код получится более быстрым
C++
1
2
3
4
5
6
int neg(int * arr,int n) { 
  int s = 0;
  for(int i = 0;arr[i]<0;i++)   
          s+=arr[i];
  return s;
}
1
XuTPbIu_MuHTAu
Эксперт С++
2234 / 749 / 25
Регистрация: 27.05.2008
Сообщений: 1,498
04.07.2010, 00:48 5
Цитата Сообщение от serrg Посмотреть сообщение
C++
1
2
3
4
5
6
int neg(int * arr,int n) { 
  int s = 0;
  for(int i = 0;arr[i]<0;i++)   
          s+=arr[i];
  return s;
}
Неправильно. На первом же неотрицательном элементе просто выйдет из цикла.
1
serrg
68 / 68 / 4
Регистрация: 02.07.2010
Сообщений: 228
04.07.2010, 01:08 6
XuTPbIu_MuHTAu, прочитай еще раз?
ПОСЛЕ сортировки.
1
XuTPbIu_MuHTAu
Эксперт С++
2234 / 749 / 25
Регистрация: 27.05.2008
Сообщений: 1,498
04.07.2010, 02:29 7
На массиве из всех отрицательных вылезет за границы.
1
serrg
68 / 68 / 4
Регистрация: 02.07.2010
Сообщений: 228
04.07.2010, 10:03 8
А тут действительно недочёт.
XuTPbIu_MuHTAu, спасибо, постараюсь запомнить свою ошибку.
Вот тогда верный вариант:
C++
1
2
3
4
5
6
int neg(int * arr,int n) { 
  int s = 0;
  for(int i = 0;arr[i]<0&&i<n;i++)   
          s+=arr[i];
  return s;
}
1
04.07.2010, 10:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.07.2010, 10:03

Найти произведение элементов массива, расположенных между минимальным и максимальным по модулю элементами
Здравствуйте. Помогите, пожалуйста, решить задачу. Вот текст: В одномерном...

Найти произведение элементов массива, расположенных между минимальным и максимальным по модулю элементами
ЗАДАНИЕ Б. Сделать по методичке с созданием класса, обьекта и вызовом...

Найти произведение элементов массива, расположенных между максимальным и минимальным по модулю элементами
В одномерном массиве, состоящем из N вещественных элементов, вычислить:...


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

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

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