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

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

Войти
Регистрация
Восстановить пароль
 
Марина1312
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 70
#1

Вычислить произведение не нулевых элементов массива - C++

22.04.2013, 08:16. Просмотров 804. Ответов 8
Метки нет (Все метки)

Дан одномерный массив, состоящий из N целочисленных элементов. Заполнить массив случайными числами.Вычислить произведение не нулевых элементов массива.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.04.2013, 08:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычислить произведение не нулевых элементов массива (C++):

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

в массиве . найти произведение нулевых элементов, количество элементов, превышающих значение среднего арифметического элементов массива - C++
В массиве Х(N) найти произведение нулевых элементов, количество элементов, превышающих значение среднего арифметического элементов массива....

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

Вычислить сумму максимального элемента массива и количества нулевых элементов массива - C++
Помогите пожалуйста. Дан линейный массив действительных чисел. Вычислить сумму максимального элемента массива и количества нулевых...

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
22.04.2013, 12:07 #2
Марина1312,

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 <iostream>
#include <array>
#include <time.h>
#include <cstdlib>
#include <algorithm>
#include <iterator>
#include <numeric>
#include <functional>
using namespace std;
 
#define SIZE 10
 
void random(int &elem){
    elem = -10 + rand() % 21;
}
 
int Product_fun(int result, int value)
{
    return (value != 0) ? (result * value) : result;
}
 
int main() 
{ 
    srand(time(NULL));
 
    array<int, SIZE> coll;
    for_each(coll.begin(), coll.end(), random);
 
    cout << "Array: ";
    copy(coll.begin(), coll.end(), ostream_iterator<int>(cout, " "));
 
    int product = accumulate(coll.begin(), coll.end(), 1, Product_fun);
 
    cout << "\nProduct: " << product;
 
    cout << "\n\n";
    return 0; 
}
1
Марина1312
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 70
22.04.2013, 12:10  [ТС] #3
Цитата Сообщение от yoghurt92 Посмотреть сообщение
Марина1312,

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 <iostream>
#include <array>
#include <time.h>
#include <cstdlib>
#include <algorithm>
#include <iterator>
#include <numeric>
#include <functional>
using namespace std;
 
#define SIZE 10
 
void random(int &elem){
    elem = -10 + rand() % 21;
}
 
int Product_fun(int result, int value)
{
    return (value != 0) ? (result * value) : result;
}
 
int main() 
{ 
    srand(time(NULL));
 
    array<int, SIZE> coll;
    for_each(coll.begin(), coll.end(), random);
 
    cout << "Array: ";
    copy(coll.begin(), coll.end(), ostream_iterator<int>(cout, " "));
 
    int product = accumulate(coll.begin(), coll.end(), 1, Product_fun);
 
    cout << "\nProduct: " << product;
 
    cout << "\n\n";
    return 0; 
}
а попроще нельзя?
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
22.04.2013, 12:13 #4
Марина1312, можно)
1
Марина1312
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 70
22.04.2013, 12:16  [ТС] #5
Цитата Сообщение от yoghurt92 Посмотреть сообщение
Марина1312, можно)
вот мне бы проще)
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
22.04.2013, 12:19 #6
Марина1312, вот попроще

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
#include <iostream>
#include <time.h>
#include <cstdlib>
using namespace std;
 
/*функция рандомной инициализации масива*/
int random(){
    return -10 + rand() % 21;
}
 
int main() 
{ 
    srand(time(NULL));
 
    const int size(10);         //размер массива
    int mas[size];              //массив
 
    for(int i = 0; i < size; ++i)
        mas[i] = random();              //инициализируем каждый элемент случайнм числом
 
    cout << "Array: ";
    for(int i = 0; i < size; ++i)
        cout << mas[i] << " ";          //выводим массив
 
    int product(1);                     //переменная для произвденеия не нулевых элементов
    for(int i = 0; i < size; ++i)
        if(mas[i] != 0)                 //если не равен нулю
            product *= mas[i];          
 
    cout << "\nProduct: " << product;       //вывод произведения не нулевых элементов
 
    cout << "\n\n";
    return 0; 
}
0
Марина1312
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 70
22.04.2013, 12:21  [ТС] #7
Цитата Сообщение от yoghurt92 Посмотреть сообщение
Марина1312, вот попроще

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
#include <iostream>
#include <time.h>
#include <cstdlib>
using namespace std;
 
/*функция рандомной инициализации масива*/
int random(){
    return -10 + rand() % 21;
}
 
int main() 
{ 
    srand(time(NULL));
 
    const int size(10);         //размер массива
    int mas[size];              //массив
 
    for(int i = 0; i < size; ++i)
        mas[i] = random();              //инициализируем каждый элемент случайнм числом
 
    cout << "Array: ";
    for(int i = 0; i < size; ++i)
        cout << mas[i] << " ";          //выводим массив
 
    int product(1);                     //переменная для произвденеия не нулевых элементов
    for(int i = 0; i < size; ++i)
        if(mas[i] != 0)                 //если не равен нулю
            product *= mas[i];          
 
    cout << "\nProduct: " << product;       //вывод произведения не нулевых элементов
 
    cout << "\n\n";
    return 0; 
}
спасибо)
0
BumerangSP
4286 / 1408 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
22.04.2013, 13:11 #8
На форуме столько подобных решений, странно, что Вы ими не воспользовались. Может, нужно, каким-то другим способом?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <numeric>
 
template <class T>
T myMultiply(T x, T y)
{
    return  y ? x * y : x * 1;
}
 
int main()
{
    srand(time(0));
    const int n = 3;
    int a[n] = {0}, mul(1);
    for (int i=0; i<n; ++i)
        std::cout << (a[i] = rand()%10-3) << ' ';
    std::cout<< '\n' << std::accumulate(a, a + n, mul, myMultiply<int>);
    return 0;
}
 Комментарий модератора 
Темы объединены
0
Марина1312
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 70
22.04.2013, 13:15  [ТС] #9
Цитата Сообщение от BumerangSP Посмотреть сообщение
На форуме столько подобных решений, странно, что Вы ими не воспользовались. Может, нужно, каким-то другим способом?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <numeric>
 
template <class T>
T myMultiply(T x, T y)
{
    return  y ? x * y : x * 1;
}
 
int main()
{
    srand(time(0));
    const int n = 3;
    int a[n] = {0}, mul(1);
    for (int i=0; i<n; ++i)
        std::cout << (a[i] = rand()%10-3) << ' ';
    std::cout<< '\n' << std::accumulate(a, a + n, mul, myMultiply<int>);
    return 0;
}
спасибо уже решили)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.04.2013, 13:15
Привет! Вот еще темы с ответами:

В одномерном массиве, вычислить: а) количество элементов массива б) произведение элементов массива в) От - к + - C++
Помогите пожалуйста!.. Вводить из клавиатуры массивы и обрабатывать их, пока на запрос “Хотите продолжать работу дальше (да, нет) ?”...

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

Вычислить произведение элементов массива с четными номерами и количество элементов, лежащих в диапазоне - C++
Дан одномерный массив, состоящий из 16ти чисел от –99 до 99, генерируемых случайным образом. Вычислить произведение элементов массива с...

В одномерном массиве, состоящем из n элементов, вычислить произведение элементов массива с четными номерами - C++
#include &quot;iostream.h&quot; #include &quot;math.h&quot; main() { const int n=10 int mas,i,count; cout&lt;&lt;&quot;Введите элементы массива: &quot;\n&gt;&gt; ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
22.04.2013, 13:15
Ответ Создать тему
Опции темы

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