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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.67
оренбуржец
5 / 5 / 0
Регистрация: 12.12.2009
Сообщений: 56
12.12.2009, 19:58     Произведение элементов массива, расположенных между максимальным и минимальным элементами #1
помогите мне разобраться с массивами. я работаю с программой MS Visual Studio 2008.
не получается написать код программы.
вот само задание.
в одномерном массиве, состоящим из n элементов, вычислить:
1)сумму отрицательных элементов массива.
2)произведение элементов массива, расположенных между максимальным и минимальным элементами массива.
упорядочить элементы массива по возростанию.
буду благодарен любой помощи.)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2009, 19:58     Произведение элементов массива, расположенных между максимальным и минимальным элементами
Посмотрите здесь:

Произведение элементов массива, расположенных между максимальным и минимальным элементами C++
C++ произведение элементов массива, расположенных между максимальным и минимальным элементами.
C++ Произведение элементов массива, расположенных между максимальным и минимальным элементами
C++ Вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами
C++ Произведение элементов массива, расположенных между максимальным и минимальным элементами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Доброта
Сообщений: n/a
14.12.2009, 12:50     Произведение элементов массива, расположенных между максимальным и минимальным элементами #2
Присоединяюсь к просьбе.
Пожалуйста, помогите!
Vladimir.
155 / 155 / 10
Регистрация: 24.11.2009
Сообщений: 375
14.12.2009, 13:37     Произведение элементов массива, расположенных между максимальным и минимальным элементами #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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
//помогите мне разобраться с массивами. я работаю с программой MS Visual Studio 2008. 
//не получается написать код программы.
#include<iostream>
int main()
{
 
int const n = 10;
//вот само задание.
//в одномерном массиве, состоящим из n элементов, 
    double array [n];
    srand( time(NULL));
    for (int i=0;i<n;i++) array[i] = double( rand()%200 - 100 )/100;
    for (int i=0;i<n;i++) std::cout<<array[i]<<"   ";
    
//вычислить:
//1)сумму отрицательных элементов массива.
double sum = 0;
    for (int i=0;i<n;i++) sum += (array[i]<0) ?  array[i] : 0 ;
    std::cout<<"\n\n sum = "<<sum;
//2)произведение элементов массива, расположенных между максимальным и 
//минимальным элементами массива.
int index_max = 0;int index_min = 0;
    for (int i=0;i<n;i++) index_min = (array[i]<array[index_min]) ? i :index_min;
    for (int i=0;i<n;i++) index_max = (array[i]>array[index_max]) ? i :index_max;
std::cout<<"\n\n\n index_min = "<<index_min<<"\t index_max = "<<index_max;
    
    int left = (index_min<index_max)?index_min:index_max;
    int right = (index_min>index_max)?index_max:index_min;
    
double mul =1;  
    for (int i=left;i<=right;i++) mul *= array[i];
    std::cout<<"\n\n mul = "<<mul;
//3)упорядочить элементы массива по возростанию.
//  Сортировка вставкой со сдвигом вправо:
    double x;
    int j;
    for (int i=0; i < n; i++) 
    {       
        x = array[i];   
        for ( j=i-1; j>=0 && array[j] > x; j--)  array[j+1] = array[j];  
    array[j+1] = x;
    }
    
    std::cout<<"\n\n sorted:";
    for (int i=0;i<n;i++) std::cout<<array[i]<<" ";std::cout<<"\n\n";
    
    
    system("pause");
    
//буду благодарен любой помощи.)
}
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
14.12.2009, 13:41     Произведение элементов массива, расположенных между максимальным и минимальным элементами #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
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
#include <iostream>
#include <iomanip>
#include <stdlib.h>
#include <time.h>
 
using namespace std;
int main(int argc, char* argv[])
{
   const int SIZE = 10;
   int arr[SIZE] = {0};
   int sum = 0, mul = 1;
   int max, maxIndex = 0, min, minIndex = 0, buf;
 
   srand(time(NULL));
 
   for (int i = 0; i < SIZE; i++)
   {
      arr[i] = rand() % 21 - 10; // заполняем массив
      cout << setw(4) << arr[i]; // выводим на экран
      if (arr[i] < 0)
         sum += arr[i]; // и тут же вычисляем сумму отрицательных элементов
   }
   cout << endl << endl;
 
   max = min = arr[0];
   for (int i = 0; i < SIZE; i++)
   {
      if (max < arr[i]) // находим макс. элемент и его индекс для второй задачи
      {
         max = arr[i];
         maxIndex = i;
      }
      if (min > arr[i]) // тоже только минимальный элемент
      {
         min = arr[i];
         minIndex = i;
      }
   }
   if (maxIndex < minIndex)
   {
      swap(maxIndex, minIndex);
   }
   for (int i = minIndex+1; i < maxIndex; i++) // находим произведение
      mul *= arr[i];
 
   for (int i = 0; i < SIZE - 1; i++) // сортируем матрицу
   {
      for (int j = 0; j < SIZE - i - 1; j++) // пузырьковой сортировкой
      {
         if (arr[j] > arr[j+1])
         {
            swap(arr[j], arr[j+1]);
         }
      }
   }
// выводим реультаты на экран
   cout << "Summa otritcsatel'nyh elementov = " << sum << endl;
   cout << "Proizvedeniye mezdu min i max elementami = " << mul << endl;
   cout << "Otsortirovannaya matritcsa: " << endl;
   for (int i = 0; i < SIZE; i++)
   {
      cout << setw(4) << arr[i];
   }
 
   cout << endl;
 
   system("pause");
   return 0;
}
Доброта
Сообщений: n/a
14.12.2009, 14:44     Произведение элементов массива, расположенных между максимальным и минимальным элементами #5
Огромное вам спасибо, люди добрые.
оренбуржец
5 / 5 / 0
Регистрация: 12.12.2009
Сообщений: 56
15.12.2009, 19:42  [ТС]     Произведение элементов массива, расположенных между максимальным и минимальным элементами #6
огромное спасибо всем
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.01.2010, 23:29     Произведение элементов массива, расположенных между максимальным и минимальным элементами
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
DeFacto
Сообщений: n/a
25.01.2010, 23:29     Произведение элементов массива, расположенных между максимальным и минимальным элементами #7
Помоги пожалуйста:
[В одномерном массиве, состоящем из п вещественных элементов, вычислить:
1) сумму элементов массива с нечетными номерами;
2) сумму элементов массива, расположенных между первым и последним отрицательными элементами.
Сжать массив, удалив из него все элементы, модуль которых не превышает 1. Освободившиеся в конце массива элементы заполнить нулями]
Yandex
Объявления
25.01.2010, 23:29     Произведение элементов массива, расположенных между максимальным и минимальным элементами
Ответ Создать тему
Опции темы

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