0 / 0 / 0
Регистрация: 13.12.2015
Сообщений: 4
1

В одномерном массиве найти сумму отрицательных элементов

20.01.2016, 17:42. Показов 2714. Ответов 2
Метки нет (Все метки)

Нужна помощь! Не могу больше. Поправьте пожалуйста!!
Задание:
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1. сумму отрицательных элементов массива;
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
#include <iostream.h>
#include <math.h>
#include <stdlib.h>
int main () {
    int n [5]={-1,2,3,-6,4};
    int i, sum=0, pr=1, min, max, imin, imax;
    //Сумма отрицательных элементов массива
    imax=imin=n [0]; imin=imax=0;
    for (i=0; i<5; i++)
    if (n[i]<0) sum+=n[i];
    cout <<"sum=" <<sum <<endl;
    if (n[i]%2==0) sum+=n[i];
    cout <<"sum=" <<sum <<endl;
    if (n[i]<0) pr*=n [i];
    cout <<"pr=" <<pr<<endl;
    {if (n[i]>max) {max=n [i]; imax=i+1;};
    if (n[i]<min) {min=n[i]; imin=i+1;}};
    cout <<"\n\t max=" <<n[imax]<<"min=" <<n [min];
    int ibeg =imax<imin ? imax : imin;
    int iend =imax<imin ? imin : imax;
    cout <<"\n\t ibeg=" <<ibeg<<"iend=" <<iend;
    cout <<"sum=" <<sum <<endl;
    cout <<"min=" <<min<<endl;
    cout <<"max=" <<max<<endl;
    cout <<"imin=" <<imin<<endl;
    cout <<"imax=" <<imax<<endl;
    system ("pause");
    return 0;}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.01.2016, 17:42
Ответы с готовыми решениями:

В одномерном массиве, состоящем из n вещественных элементов, вычислить сумму отрицательных элементов массива
Прошу помочь с моей задачей.Я только-только начал изучать С++ и у меня возникли трудности задача...

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

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

В одномерном массиве, состоящем из n вещественных элементов, вычислить: сумму отрицательных елементов масива
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) сумму отрицательных...

2
104 / 104 / 99
Регистрация: 30.06.2015
Сообщений: 272
20.01.2016, 18:45 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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#include <iostream>
#include <time.h>
#include <windows.h>
using namespace std;
 
int random(int min, int max)
{
   static bool first = true;
   if (first)
   {
      srand(time(NULL));
      first = false;
   }
   return min + rand() % (max - min);
}
 
int minIndex(int array[],int len)
{
    int res = array[0];
    int indexOF;
    for(int i=0;i<len;i++)
        if(res > array[i])
        {
            res = array[i];
            indexOF = i;
        }
    return indexOF;
}
 
int maxIndex(int array[],int len)
{
    int res = array[0];
    int indexOF;
    for(int i=0;i<len;i++)
        if(res < array[i])
        {
            res = array[i];
            indexOF = i;
        }
    return indexOF;
}
 
void sort(int arr[], int len)
{
    bool flag = true;
    int temp;
    int numLength = len;
    for(int i = 1;(i<=numLength)&&flag;i++)
    {
        flag = false;
        for(int j=0; j<(numLength-1);j++)
        {
            if (arr[j+1]>arr[j])
            {
                temp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp;
                flag = true;
            }
        }
    }
}
 
int main ()
{
    int size;
    int sum_negative=0;
    int mul_between=1;
    cout << "Enter array size: ";
    cin >> size;
    int arr[size];
    cout << "array = ";
    for(int i=0;i<size;i++)
    {
        arr[i]=random(-100,100);
        cout << arr[i] << " ";
        if(arr[i]<0)
            sum_negative+=arr[i];
    }
    cout << endl;
    cout << "sum of negative digits = " << sum_negative;
    if(minIndex(arr,size)<maxIndex(arr,size))
        for(int j=minIndex(arr,size)+1;j<maxIndex(arr,size);j++)
            mul_between*=arr[j];
    else if(minIndex(arr,size)==maxIndex(arr,size))
        mul_between=0;
    else
        for(int j=maxIndex(arr,size)+1;j<minIndex(arr,size);j++)
            mul_between*=arr[j];
    cout << endl;
    cout << "pr between indexes " << minIndex(arr,size) << " and "
         << maxIndex(arr,size) << " = " << mul_between << endl;
    sort(arr,size);
    cout << "sorted array = ";
    for(int k=0;k<size;k++)
        cout << arr[k] << " ";
    cout << endl;
    return 0;
}
0
Любитель чаепитий
3734 / 1793 / 563
Регистрация: 24.08.2014
Сообщений: 5,998
Записей в блоге: 1
20.01.2016, 18:55 3
Машутка,
вещественных элементов
Это значит, что числа с запятой,то есть float или double, а у вас int.

Добавлено через 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
#include <iostream>
 
using namespace std;
 
int main()
{
    int n;
    cin >> n;
    double arr[n];
    double sumBad = 0,mult = 1;
    int min = 0, max = 0;
    for( int i = 0; i < n; i++ ) {
        cin >> arr[i];
        if( arr[max] < arr[i] ) max = i;
        if( arr[min] > arr[i] ) min = i;
        if( arr[i] < 0 ) sumBad += arr[i];
    }
    for( int i = min; i <= max; i++ ) {
        mult *= arr[i];
    }
    for( int i = 0; i < n-1; i++ ) {
        for( int j = 0; j < n - 1; j++ ) {
            if( arr[i] < arr[j] ) swap(arr[i],arr[j]);
        }
    }
    cout << ...
    cin.get();
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.01.2016, 18:55
Помогаю со студенческими работами здесь

В одномерном массиве,состоящем из n вещественных элементо,вычислить сумму всех отрицательных элементов массива
В одномерном массиве,состоящем из n вещественных элементо,вычислить сумму всех отрицательных...

В одномерном массиве размерностью N найти количество отрицательных элементов
Дано одномірний масив розмірністю N, знайти кількість від’ємних елементів масиву Язык форума -...

В одномерном массиве вещественных чисел вычислить сумму отрицательных элементов и произведение между max и min
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1)сумму отрицательных...

Функция поиска в одномерном массиве: найти количество положительных и отрицательных элементов
как в С++ пишется функция поиск? что то типо этого: poisk(A, n); void poisk(int** a, int n)


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru