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

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

Восстановить пароль Регистрация
 
Veronika Yu.
 Аватар для Veronika Yu.
2 / 2 / 0
Регистрация: 15.02.2010
Сообщений: 67
07.10.2010, 10:02     Найти произведение элементов массива, расположенных между минимальным и максимальным по модулю элементами #1
Здравствуйте. Помогите, пожалуйста, решить задачу. Вот текст: В одномерном массиве, состоящем из n ещественных элементов, вычислить:
1) сумму положительных элементов массива
2)произведение элементов массива, расположенных между максимальным и минимальным по модулю элементами
Упорядочить элементы массива по убыванию модулей элементов.
выполнить, используя динамические массивы.
Заранее спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2010, 10:02     Найти произведение элементов массива, расположенных между минимальным и максимальным по модулю элементами
Посмотрите здесь:

Произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами C++
Одномерный массив ( вычислить произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами) C++
Найти произведение элементов массива, расположенных между максимальным и минимальным по модулю элементами C++
Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами C++
C++ Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
07.10.2010, 13:30     Найти произведение элементов массива, расположенных между минимальным и максимальным по модулю элементами #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
1.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <stdlib.h>
 
#define size 10
int main(){
long *plmass = (long*)malloc(sizeof(long)*size);
int i;
int sum ;
for( i = 0 ; i < size ; i++ ){
       printf("input: "); scanf("%d",&plmass[i]);
}
printf("\n");
sum=0;
for( i = 0 ; i < size ; i++ )if(plmass[i]>0)sum+=plmass[i];
printf("sum: %d",sum);
printf("\n");
 
 
 
free(plmass);
return 0;
}
Veronika Yu.
 Аватар для Veronika Yu.
2 / 2 / 0
Регистрация: 15.02.2010
Сообщений: 67
07.10.2010, 14:35  [ТС]     Найти произведение элементов массива, расположенных между минимальным и максимальным по модулю элементами #3
а вторую сможете сделать?
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
07.10.2010, 15:29     Найти произведение элементов массива, расположенных между минимальным и максимальным по модулю элементами #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
2)

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
#include <iostream>
#include <ctime> 
#include <cmath>
 
using std::cout;
using std::cin;
using std::endl;
 
int main()
{    
     setlocale(LC_ALL,"Russian");
     int size,db=1,count_min,count_max,min,max;
     int i,j,temp;
     srand((unsigned)time(NULL));
     int *arr;
     cout<<"Введите розмер массива: ";
     cin>>size;
     arr = new int[size];
     cout<<"Массив: ";
     for(i=0; i<size; i++)
     {
         arr[i]=rand()%9-5;
         cout<<arr[i]<<"  ";
     }
     max = abs(arr[0]);
     min = abs(arr[0]);
     for(i=0; i<size; i++)
     {
         if (abs(arr[i])>max)
         {
             max = abs(arr[i]);
             count_max=i;
         }
         if (abs(arr[i])<min)
         {
             min = abs(arr[i]);
             count_min=i;
         }
    }
     cout<<endl;
     cout<<"Маkсимум "<<count_max<<" елемент"<<endl;
     cout<<"Минимум "<<count_min<<" елемент"<<endl;
     cout<<"Произведение: ";
     (count_max>count_min)? i=count_min+1 : i=count_max+1;
     (count_max>count_min)? j=count_max : j=count_min;
     for(i; i<j; i++)
     {
         db*=arr[i];
     }
     cout<<db<<endl;
     cout<<"Новый массив: ";
     for(i=0; i<size; i++)
     {
         for(j=i; j<size; j++)
         {
           if(abs(arr[i])>abs(arr[j]))
           {
               temp=arr[i];
               arr[i]=arr[j];
               arr[j]=temp;
           }
         }
     }
     for(i=0; i<size; i++)
     {
         cout<<arr[i]<<" ";
     }
     cout<<endl;
     delete [] arr;
     system("pause");
   return 0;
}
Yandex
Объявления
07.10.2010, 15:29     Найти произведение элементов массива, расположенных между минимальным и максимальным по модулю элементами
Ответ Создать тему
Опции темы

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