Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Reshatel
1 / 1 / 3
Регистрация: 17.12.2016
Сообщений: 46
#1

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

11.03.2017, 16:05. Просмотров 264. Ответов 6
Метки нет (Все метки)

Дано одномерный массив действительных чисел X с количеством элементов n. Составить программу обработки
массива. Условие задачи представлено ниже:
Вычислить произведение элементов, которые не равны нулю.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2017, 16:05
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вычислить произведение элементов массива не равных нулю (C++):

Вычислить количество элементов массива, равных нулю
1 задание) Вычислить количество элементов массива, равных нулю. 2 задание)...

Дано одномерный массив В, состоящий из 12 элементов. Вычислить произведение элементов массива, не равны нулю, значения которых наход. в пределах А и С
Помогите пожалуйста с задачкой Дано одномерный массив В, состоящий из 12...

Вычислить количество элементов в массиве, равных нулю
Помогите пожалусто через 2 часа в институт пилить а мне зачет сделать нужно не...

Определите количество элементов массива равных нулю
Определите количество элементов массива равных нулю

Найти количество элементов массива равных нулю
Дан одномерный массив заданный генератором случайных чисел. Найти количество...

Найти количество элементов массива равных нулю
С одномерным массивом, состоящим из n вещественных элементов, произвести...

6
Azazel-San
Mental handicap
123 / 123 / 65
Регистрация: 24.11.2015
Сообщений: 819
Завершенные тесты: 1
11.03.2017, 16:49 #2
Цитата Сообщение от Reshatel Посмотреть сообщение
которые не равны нулю.
ну как бы ничто кроме нуля не равно нулю, возможно имелось ввиду не четные числа?
Если речь о них тогда можно вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
 
using namespace std;
 
int main() {
    
    const int n = 5;
    int x[n] = { 5,7,6,3,2 };
    int temp = 1;
 
    for (auto i : x)
        if (i % 2 != 0)
            temp *= i;
 
    cout << temp << " " << endl;
 
    return 0;
}
0
Ferrari F1
791 / 521 / 156
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
Завершенные тесты: 1
11.03.2017, 17:02 #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 <numeric>
#include <vector>
using namespace std;
 
int main()
{
    vector<double> X
    {
        3, 3.3, 0, 56, 7, 1
    };
 
    cout << accumulate(
        X.cbegin(), X.cend(), double{ 1 },
            [](double& v1, const double& v2) -> const double&
        {
            return v2 ? v1 *= v2 : v1;
        }
    ) << endl;
 
    system("pause");
}
0
Shipuchka
2 / 2 / 3
Регистрация: 13.01.2017
Сообщений: 33
Завершенные тесты: 2
11.03.2017, 17:14 #4
Цитата Сообщение от Azazel-San Посмотреть сообщение
for (auto i : x)
Azazel-San, а что значит эта строчка? синтаксис не очень понятен. )
0
Reshatel
1 / 1 / 3
Регистрация: 17.12.2016
Сообщений: 46
11.03.2017, 17:25  [ТС] #5
Цитата Сообщение от Azazel-San Посмотреть сообщение
ну как бы ничто кроме нуля не равно нулю, возможно имелось ввиду не четные числа?
Если речь о них тогда можно вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
 
using namespace std;
 
int main() {
    
    const int n = 5;
    int x[n] = { 5,7,6,3,2 };
    int temp = 1;
 
    for (auto i : x)
        if (i % 2 != 0)
            temp *= i;
 
    cout << temp << " " << endl;
 
    return 0;
}
нет, произведение элементов которые не равны нулю это типа 2 3 4 9 0 10 , множим 2*3*4*9*10, а ноль не трогаем
0
Shipuchka
2 / 2 / 3
Регистрация: 13.01.2017
Сообщений: 33
Завершенные тесты: 2
11.03.2017, 17:33 #6
Вот решение )

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
#include <iostream>
#include <time.h>
#include <string>
#include<locale>
#include <string.h>
#include <iomanip>
using namespace std;
void main() {
    srand(time(NULL));
    int rez = 1;
    const int n = 10;
    int X[n];
 
    for (int i = 0; i < n; i++) {
        X[i] = rand() % 5;
        cout << X[i] << " ";
    }
 
    cout << endl;
 
    for (int i = 0; i < n; i++) {
        if (X[i] != 0) { rez *=X[i]; }
    }
    cout << rez << endl;
 
    system("pause");
 
}
0
Azazel-San
Mental handicap
123 / 123 / 65
Регистрация: 24.11.2015
Сообщений: 819
Завершенные тесты: 1
11.03.2017, 17:42 #7
Цитата Сообщение от Reshatel Посмотреть сообщение
нет, произведение элементов которые не равны нулю это типа 2 3 4 9 0 10 , множим 2*3*4*9*10, а ноль не трогаем
тогда просто так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
 
using namespace std;
 
int main() {
 
    const int n = 5;
    int x[n] = { 5,7,6,3,2 };
    int temp = 1;
 
    for (auto i : x)
        if (i != 0)
            temp *= i;
 
    cout << temp << " " << endl;
 
    return 0;
}
Добавлено через 3 минуты
Цитата Сообщение от Shipuchka Посмотреть сообщение
Azazel-San, а что значит эта строчка? синтаксис не очень понятен. )
серийный оператор for
Тык
1
11.03.2017, 17:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.03.2017, 17:42
Привет! Вот еще темы с решениями:

Определите количество элементов массива равных нулю.
1. Определите количество элементов массива равных нулю.

Найти длину самой длинной последовательности подряд идущих элементов массива, равных нулю
Задан одномерный массив. Найти длину самой длинной последовательности подряд...

решение двумерных массивов (Вычислить сумму элементов не равных нулю и посчитать их количество, найти номера столбцов с положительными элементами)
решить задачи и составить блок-схемы: ввести двумерный массив С. Вычислить...

Вычислить количество положительных элементов массива и сумму элементов массива, расположенных после последнего элемента, равного нулю
В одномерном массиве, состоящем из n вещественных элементов, вычислить:...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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