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

Найти произведение отрицательных элементов массива - C++

Восстановить пароль Регистрация
 
Swaagga
0 / 0 / 0
Регистрация: 29.01.2014
Сообщений: 3
29.01.2014, 12:54     Найти произведение отрицательных элементов массива #1
Ребята я болел когда в институте мы проходили массивы...
Может мне кто то с этим помочь?
Исходные данные для всех вариантов - n вещественных величин.
При написании программы используйте динамические массивы.
1.найти произведение отрицательных элементов массива.
2.Найти сумму положительных элементов массива расположенных до максимального элемента.
3.Изменить порядок следование элементов на обратный.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.01.2014, 12:54     Найти произведение отрицательных элементов массива
Посмотрите здесь:

C++ Произведение отрицательных элементов массива
Произведение отрицательных элементов массива C++
Найти произведение отрицательных элементов массива C++
C++ Среднее арифметическое положительных элементов массива, произведение и кол-во отрицательных элементов
В двумерном динамическом массиве найти произведение отрицательных элементов массива C++
Найти сумму отрицательных элементов массива и произведение положительных C++
Найти произведение и количество отрицательных элементов массива C++
Найти сумму отрицательных элементов массива и произведение их индексов C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
29.01.2014, 13:16     Найти произведение отрицательных элементов массива #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Swaagga,


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>
#include<cstdlib>
#include<ctime>
#include<algorithm>
int main()
{
    srand(time(NULL));
    size_t arraySize;
    std::cin>>arraySize;
    int *array = new int [arraySize];
    std::cout<<"\Array: ";
    for(size_t i = 0; i<arraySize; i++)
        std::cout<<(array[i] = rand()%20 - 10)<<" ";
    int Product(1),PositionMax(0),Sum(0);
    for(size_t i=0; i<arraySize; i++)
    {
        Product*= array[i]<0 ? array[i] : 1;
        PositionMax = array[i]>array[PositionMax] ? i : PositionMax;
    }
    for(size_t i=0; i<PositionMax; i++)
        Sum+= array[i]>0 ? array[i]:0;
    std::cout<<"\nProduct negative elements: "<<Product;
    std::cout<<"\nSun positive elements: "<<Sum;
    std::reverse(&array[0],&array[arraySize]);
    std::cout<<"\nNew array: ";
    for(size_t i = 0; i<arraySize; i++)
        std::cout<<array[i]<<" ";
 
}
Swaagga
0 / 0 / 0
Регистрация: 29.01.2014
Сообщений: 3
30.01.2014, 03:00  [ТС]     Найти произведение отрицательных элементов массива #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
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
#include <iostream>
#include <time.h>
using namespace std;
 
void main()
{
    
    int size, index;
    int choice;
    float  res=1;
    const int precision=10;
    cout << "Enter size of array: ";
    cin >> size;
    system ("cls");
    cout << "YOUR CHOICE: \n\n";
    cout << "1. Auto fill\n";
    cout << "2. Manual fill\n\n";
    cout << "Selection: ";
    cin >> choice;
    system("cls");
    float *arr = new float[size];
    switch(choice) 
    {
        case 1:
            int begin, end;
            srand (time(NULL));
                cout << "********** AUTO **********\n\n";
                cout << "Enter the begining interval of array: ";
                cin >> begin;
                cout << "Enter the ending interval of array: ";
                cin >> end;
                cout << endl;
                    for (int i=0; i < size; i++)
                    {
                        arr[i] = begin + (rand() % ((end - begin + 1) * precision + 1)) /(float)precision;
                        if (arr[i] > end)
                            arr[i] = floor(arr[i]);
                        cout << i + 1 <<". "<< arr[i] << "\n";
                        if (arr[i] < 0)
                            res *= arr[i];
                        
                    }
                    cout<< endl;
            break;
        case 2: 
                cout << "********** MANUAL **********\n\n";
                    for (int i = 0; i < size; i++) 
                    {
                        cout << i + 1 << ". ";
                        cin >> arr[i];
                        if (arr[i] < 0)
                            res *= arr[i];
                    }
                    cout<< endl;
            break;
    default: 
        cout<< "You can press only 1 or 2\n\n";
        system("pause");
            exit(0);
    }
    cout<< "Product of negative elements: "<<res<<endl;
    float sum=0;
    float highest= arr[0];
    for (int i=0; i<size; i++)
        if (arr[i]>highest){
                highest=arr[i];
                index=i;
        }
    for (int i=0; i<index; i++)
        sum+=arr[i];
    cout<<"Sum of elements till highest element: "<<sum<<endl;
    for (int i=size-1; i>=0; i--)
        cout<<arr[i]<<endl;
    cout<< endl;
system ("pause");
}
Yandex
Объявления
30.01.2014, 03:00     Найти произведение отрицательных элементов массива
Ответ Создать тему
Опции темы

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