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

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

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

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

29.01.2014, 12:54. Просмотров 443. Ответов 2
Метки нет (Все метки)

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

Найти произведение отрицательных элементов массива - C++
Найти произведение отрицательных элементов массива. Использовать функцию для каждой строки матрицы K(4,8). Тело ф-ции реализовать 2...

Найти произведение положительных/отрицательных элементов массива - C++
нужно написать маленькие проги)такие как.. 1)среднее арифм. +/- элементов в одномер.массиве 2)минимальный/максимальный элемент +/-...

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

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

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

Найти произведение отрицательных элементов массива с четными индексами - C++
Здравствуйте, помогите разобраться с заданием Задан массив целых чисел B(n). Найти: 1. произведение отрицательных элементов с четными...

Найти сумму отрицательных элементов массива и произведение их индексов - C++
Помогите найти сумму отрицательных элементов массива и произведение их номеров (индексов) С++

В двумерном динамическом массиве найти произведение отрицательных элементов массива - C++
Помогите плиз с задачей. В двумерном динамическом массиве найти произведение отрицательных элементов массива. Массив задаётся...

Найти произведение четных отрицательных элементов массива, расположенных после минимального элемента - C++
Уважаемые пользователи, помогите решить задачу: Ввести с клавиатуры одномерный статический массив из k чисел. Выполнить в соответствии...

Произведение отрицательных элементов массива - C++
Помогите, пожалуйста с задачками по теме "Одномерные массивы". Оформить каждую задачу в виде функции. Все необходимые данные для функций...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cooller
565 / 533 / 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");
}
Ответ Создать тему
Опции темы

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