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

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

Войти
Регистрация
Восстановить пароль
 
Jorney
0 / 0 / 0
Регистрация: 10.06.2012
Сообщений: 3
#1

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

22.10.2013, 08:21. Просмотров 416. Ответов 1
Метки нет (Все метки)

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

Затем упорядочить все элементы массива по убыванию

вот код

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
78
79
80
81
82
#include <cstdlib>
#include <iostream>
#include <math.h>
 
using namespace std;
 
int main()
{    
    const int N = 5;    
    double mas[N];
    int i = 0;
   cout << "Vvedite dannie:" << endl;
    
    for(i + 1; i < N; i++)
    {
      cout << "mas[" << i << "] = ";    
      cin >> mas[i];    
    }
   cout << "\nVvedeni sleduyushie dannie: " << endl;
   for(i = 0; i < N; i++)
   {
      cout << "mas[" << i << "] = ";
      cout << mas[i] << endl;      
   }
 
   double p = 0;
   double min, max, proizved;
   int n_min, n_max;
   min = max = proizved = mas[0];
   n_min, n_max = 0; 
   bool usl = false;
   for(i = 0; i < N; i++)
   {
      if(mas[i] > 0 )
      {
        usl = true;
        p += mas[i];        
      } 
   }
   
   for(int i = 0; i < N; i++) 
   {
          
      if (fabs(mas[i]) < fabs(min))
      {
         min = fabs(mas[i]);  
         n_min = i;      
      }          
      
      if(mas[i] > max)
      {
         max = mas[i];
         n_max = i;       
      }  
   }  
  
   proizved = 1;
 
   for(int i = n_min + 1; i < n_max; i++)
   {
      proizved *= mas[i];     
   }      
  
   cout << "\nProizvedenie = " << proizved << endl; 
   cout << "min = " << min << ", n_min = " << n_min << endl; 
   cout << "max = " << max << ", n_max = " << n_max << endl; 
 
  if(!usl)
  {
    cout << "\pologitelnih elementov net" << endl;   
  } 
    else 
    {
      cout << "\nSumma pologitelnih elementov massiva = " << p << endl;  
 
 
}
    
 
    system("PAUSE");
    return EXIT_SUCCESS;
}
Как вычислить по модулю и упорядочить по убыванию?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2013, 08:21     Одномерный массив ( вычислить произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами)
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
reisal78
630 / 543 / 127
Регистрация: 28.04.2013
Сообщений: 1,537
22.10.2013, 09:29     Одномерный массив ( вычислить произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами) #2
Доброе утро!

Давайте для начала разберемся с тем что уже сделано =)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    const int N = 5;    //задали количество элементов массива
    double mas[N]; //объявили массив
    int i = 0; //присвоили значению счетчика цикла 0
   cout << "Vvedite dannie:" << endl;
    // Начинаем запрашивать данные... Вот тут уже интересно.
    for(i + 1; i < N; i++) // i+1 (т.к чуть выше i = 0 то со старта цикла i стало = 1
    {
      cout << "mas[" << i << "] = ";    
      cin >> mas[i];    // соответственно и запрашиваете mas[1] mas [2] mas [3] mas[4] а mas [0] не при делах?
    } 
 
   cout << "\nVvedeni sleduyushie dannie: " << endl;
   for(i = 0; i < N; i++)
   {
      cout << "mas[" << i << "] = ";
      cout << mas[i] << endl;      
   }
Yandex
Объявления
22.10.2013, 09:29     Одномерный массив ( вычислить произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами)
Ответ Создать тему
Опции темы

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