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

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

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

Вычислить произведение отрицательных элементов P, затем произведение положительных элементов D - C++

13.02.2011, 08:45. Просмотров 634. Ответов 8
Метки нет (Все метки)

В последовательности действительных чисел есть только положительные и отрицательные элементы. Вычислить произведение отрицательных элементов P, затем произведение положительных элементов D.
Сравнить модули P и D, указать, какое из произведений по модулю больше. Вывести на экран.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.02.2011, 08:45     Вычислить произведение отрицательных элементов P, затем произведение положительных элементов D
Посмотрите здесь:

Вычислить произведение положительных и отрицательных элементов каждой строки - C++
Здравствуйте, Уважаемые форумчане ! :) Вот такое у меня задание значит: Дана матрица. Вычислить произведение положительных и...

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

Найти произведение отрицательных элементов массива и сумму положительных элементов, удовлетворяющих условию - C++
Добрый вечер, не могли вы помочь с решением вот этих двух задач ? Задача 1. В одномерном массиве, состоящем из n вещественных...

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

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

Найти сумму положительных, произведение и количество отрицательных элементов - C++
напишите программу, использующую для обращения к элементам массива указатели, которая получает с клавиатуры натуральное числоN -...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
В астрале
Эксперт С++
7968 / 4730 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
13.02.2011, 08:52     Вычислить произведение отрицательных элементов P, затем произведение положительных элементов D #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
#include <vector>
#include <numeric>
#include <iostream>
#include <iterator>
#include <cmath>
 
int main()
{
    std::vector<double> vec((std::istream_iterator<int>(std::cin)), std::istream_iterator<int>());
    double P=std::accumulate(vec.begin(), vec.end(), 1.0, [](double first, double second)
    {
        return second < 0 ? first * second : first;
    });
    double D=std::accumulate(vec.begin(), vec.end(), 1.0, [](double first, double second)
    { 
       return second > 0 ? first*second : second;
    });
    if(fabs(P) == fabs(D))
       std::cout<<"Both are equal\n";
    else 
       std::cout<<"Greater is: "<< (fabs(P) > fabs(D) ? P : D) <<'\n';
    return 0;
}
hakerok115
0 / 0 / 0
Регистрация: 08.03.2010
Сообщений: 57
13.02.2011, 08:56  [ТС]     Вычислить произведение отрицательных элементов P, затем произведение положительных элементов D #3
Ошибок выдаёт 12 штук.
ForEveR
В астрале
Эксперт С++
7968 / 4730 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
13.02.2011, 09:03     Вычислить произведение отрицательных элементов P, затем произведение положительных элементов D #4
Компилятор минимум MSVS 2010 либо GCC 4.5+

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <vector>
#include <numeric>
#include <iostream>
#include <iterator>
#include <cmath>
 
int main()
{
    std::vector<double> vec((std::istream_iterator<int>(std::cin)), std::istream_iterator<int>());
    double P=std::accumulate(vec.begin(), vec.end(), 1.0, [](double first, double second)
    {
        return second < 0 ? first * second : first;
    });
    double D=std::accumulate(vec.begin(), vec.end(), 1.0, [](double first, double second)
    { 
       return second > 0 ? first*second : first;
    });
    if(fabs(P) == fabs(D))
       std::cout<<"Both are equal\n";
    else 
       std::cout<<"Greater is: "<< (fabs(P) > fabs(D) ? P : D) <<'\n';
    return 0;
}
hakerok115
0 / 0 / 0
Регистрация: 08.03.2010
Сообщений: 57
13.02.2011, 09:27  [ТС]     Вычислить произведение отрицательных элементов P, затем произведение положительных элементов D #5
Цитата Сообщение от ForEveR Посмотреть сообщение
Компилятор минимум MSVS 2010 либо GCC 4.5+

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <vector>
#include <numeric>
#include <iostream>
#include <iterator>
#include <cmath>
 
int main()
{
    std::vector<double> vec((std::istream_iterator<int>(std::cin)), std::istream_iterator<int>());
    double P=std::accumulate(vec.begin(), vec.end(), 1.0, [](double first, double second)
    {
        return second < 0 ? first * second : first;
    });
    double D=std::accumulate(vec.begin(), vec.end(), 1.0, [](double first, double second)
    { 
       return second > 0 ? first*second : first;
    });
    if(fabs(P) == fabs(D))
       std::cout<<"Both are equal\n";
    else 
       std::cout<<"Greater is: "<< (fabs(P) > fabs(D) ? P : D) <<'\n';
    return 0;
}
Я компилирую через borland 3.1
Busine2009
Заблокирован
13.02.2011, 10:19     Вычислить произведение отрицательных элементов P, затем произведение положительных элементов D #6
hakerok115,
а что нужно использовать: массивы или векторы?
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
13.02.2011, 11:02     Вычислить произведение отрицательных элементов P, затем произведение положительных элементов D #7
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
#include <stdio.h>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
#include <math.h>
#define size 15
int main()
{
    srand(unsigned(time(NULL)));
    int mas[size];
    int i,p=1,d=1;
    printf("Array ->");
     for(i=0; i<size; i++)
     {
         mas[i]=rand()%10-5;
          printf("%d ",mas[i]);
           if(mas[i]>0) 
           {
               d*=mas[i];
           }
           if(mas[i]<0)
           {
               p*=mas[i];
           }
     }
     if(abs(p)>abs(d)) 
      {
        printf("\n|p|>|d|");
      }
     if(abs(p)<abs(d))
      {
        printf("\n|p|<|d|\n");
      }
     printf("\n|p|=%d",abs(p));
     printf("\n|d|=%d",abs(d));
     getch();
     return 0;
}
silent_1991
13.02.2011, 11:27
  #8

Не по теме:

Цитата Сообщение от hakerok115 Посмотреть сообщение
Я компилирую через borland 3.1
С чем я вас и поздравляю.

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.02.2011, 11:48     Вычислить произведение отрицательных элементов P, затем произведение положительных элементов D
Еще ссылки по теме:

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

Сортировка по возрастанию, сумма положительных и произведение отрицательных элементов массива - C++
#include &lt;stdio.h&gt; #include &lt;iostream.h&gt; main() { static float a; int i,j,sum=0,pr=1,t; cout&lt;&lt;&quot;Vvedite 6...

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

Определить произведение всех положительных элементов и сумму всех отрицательных элементов. - C++
Ребят, помогите с задачкой, пожалуйста. Желательно для Borland C++ Builder 6.0. Задан массив L из N элементов (N не больше 30)....


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

Или воспользуйтесь поиском по форуму:
ForEveR
13.02.2011, 11:48     Вычислить произведение отрицательных элементов P, затем произведение положительных элементов D
  #9

Не по теме:

Я собственно абсолютно согласен с silent_1991... Когда же начинающие научатся пользоваться нормальными компиляторами, а не теми, которые работали под Dos? Ответа на этот вопрос я не прошу... Он риторический. Я итак знаю, что никогда...

Yandex
Объявления
13.02.2011, 11:48     Вычислить произведение отрицательных элементов P, затем произведение положительных элементов D
Ответ Создать тему
Опции темы

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