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

Одномерный массив - C++

Восстановить пароль Регистрация
 
MrShot
0 / 0 / 0
Регистрация: 02.02.2011
Сообщений: 3
02.02.2011, 15:18     Одномерный массив #1
Народ помогите,у меня экзамен не знаю как сделать.Вот задание:
вычислить произведение отрицательных элементов р1 и произведение положительных элементов р2.Сравнить модуль р2 с модулем р1.Вывести наибольший модуль.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.02.2011, 15:18     Одномерный массив
Посмотрите здесь:

C++ Одномерный массив
Одномерный массив C++
Одномерный массив C++
C++ одномерный массив
C++ Одномерный массив
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
02.02.2011, 15:52     Одномерный массив #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
#include <iostream>
#include <algorithm>
#include <conio.h>
 
using namespace std;
 
int main()
{
    size_t n; 
    cout << "Enter the size of the massiv\n";
    cin >> n;
    double* vector = new double[n];
    double p1 = 1, p2 = 1;
    size_t c1 = 0, c2 = 0; 
    cout << "Enter the massiv\n";
    for (size_t i = 0; i < n; ++i)
        cin >> vector[i];
    for_each(vector, vector + n, 
        [&](double Buffer)->void
        {
            if (Buffer > 0)
            {
                ++c1;
                p1 *= Buffer;
            }
            else
                if (Buffer < 0)
                {
                    ++c2;
                    p2 *= Buffer;
                }
        });
    if (!c1 && !c2)
        cout << "All elements of the massiv are 0\n";
    else
        if (!c1)
            cout << "All elements of the massiv  <= 0. |P2| = " << abs(p2);
        else
            if (!c2)
                cout << "All elements of the massiv  >= 0. |P1| = " << abs(p1);
            else
                cout << "Max(|P1|, |P2|) = " << max(abs(p1), abs(p2));
    _getch();
    delete[]vector;
    return 0;
}
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
02.02.2011, 16:04     Одномерный массив #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<iostream>
#include<cmath>
using namespace std;
 
int main(){
    int pos=1, neg=1, mas[]={-1,2,-3,4,0,5,-6};
    bool fpos=0, fneg=0;
    for(int i=0; i<sizeof(mas)/sizeof(int); i++){
        if(mas[i]>0){
            fpos=1;
            pos*=mas[i];
        }
        if(mas[i]<0){
            fneg=1;
            neg*=mas[i];
        }
    }
    if(fpos==0) pos=0;
    if(fneg==0) neg=0;
    neg=abs(neg);
    cout<<(pos>neg? pos: neg);
}
grrrrr
 Аватар для grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
02.02.2011, 16:06     Одномерный массив #4
igorrr37, ноль тоже положительное число
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
02.02.2011, 19:41     Одномерный массив #5
grrrrr, строго говоря, нет. Нуль знака не имеет, это число, которое разделяет на числовой оси положительные и отрицательные числа, при этом ни к тем, ни к другим не относится.
Yandex
Объявления
02.02.2011, 19:41     Одномерный массив
Ответ Создать тему
Опции темы

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