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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 34, средняя оценка - 4.74
KIMka
8 / 8 / 0
Регистрация: 20.02.2009
Сообщений: 139
#1

Перемножение элементов массива - C++

16.04.2009, 19:31. Просмотров 4605. Ответов 6
Метки нет (Все метки)

Добрый день.

Вот, столкнулся с не пониманием того, как перемножить все элементы в массиве.

Есть массив, уже составленный, ввиде двойного факториала с определенным шагом. Нужно перемножить все элементы.

Подскажите пжлста, как это делается.

Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.04.2009, 19:31     Перемножение элементов массива
Посмотрите здесь:

Функции в с++. Найти сумму элементов массива D, а также суммы квадратов и кубов элементов массива D. C++
В одномерном массиве, состоящем из n вещественных элементов вычислить минимальный элемент массива и сумму элементов массива. [CPP] C++
Вычислить количество положительных элементов массива и сумму элементов массива, расположенных после последнего элемента, равного нулю C++
Записать положительные элементы массива X подряд в массив Y. Определить k – количество положительных элементов. Вычислит сумму элементов массива Y C++
C++ Одномерные массивы и указатели (найти количество элементов массива, равных 0, сумму элементов массива...)
В одномерном массиве, состоящем из n целых элементов, 1) номер максимального элемента массива; 2) произведение элементов массива, расположенных между C++
C++ Определить кол-во элементов массива, которые больше среднеарифметического значения всех элементов массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ISergey
Maniac
Эксперт С++
1346 / 879 / 51
Регистрация: 02.01.2009
Сообщений: 2,643
Записей в блоге: 1
16.04.2009, 19:41     Перемножение элементов массива #2
вы это имели ввиду
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
int main()
{
    int arr[10] = {0,1,2,3,4,5,6,7,8,9};
    for(int i = 0; i < 10; ++i)
        arr[i] *= 2;
 
    cout<<"[ ";
    for(int i = 0; i < 10; ++i)
        cout<<arr[i]<<" ";
    cout<<"]"<<endl;
    return 0;
}
KIMka
8 / 8 / 0
Регистрация: 20.02.2009
Сообщений: 139
16.04.2009, 19:51  [ТС]     Перемножение элементов массива #3
Цитата Сообщение от ISergey Посмотреть сообщение
вы это имели ввиду
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
int main()
{
    int arr[10] = {0,1,2,3,4,5,6,7,8,9};
    for(int i = 0; i < 10; ++i)
        arr[i] *= 2;
 
    cout<<"[ ";
    for(int i = 0; i < 10; ++i)
        cout<<arr[i]<<" ";
    cout<<"]"<<endl;
    return 0;
}
Практически.
Массив то я уже сформировал. Мне нужно все элемнты в нем перемножить.
"*=" у меня не понимает.
Вот так я делаю:
C#
1
2
3
4
5
6
7
8
9
double G2_fakt;
double G2 = Math.Floor(fF._K1 / 2); //определяется шаг
            double G2_i = 2*(G2 - 1); //количество элементов
            double[] G2_pr_fact = new double[(int)G2_i];
            for (int i = 0; i < G2_i; i++)
            {
                G2_pr_fact[i] = G2_pr_fact[i] + G2; //получается массив с шагом G2
                G2_fakt *= G2_pr_fact[i]; //а так перемножить элементы не получается
            }
ISergey
Maniac
Эксперт С++
1346 / 879 / 51
Регистрация: 02.01.2009
Сообщений: 2,643
Записей в блоге: 1
16.04.2009, 20:04     Перемножение элементов массива #4
Вот эту срочку
C++
1
G2_fakt *= G2_pr_fact[i];
наверно нужно пересать так
C++
1
G2_pr_fact[i] *= G2_fakt;
потом это
C++
1
double[] G2_pr_fact = new double[(int)G2_i];
нужно так
C++
1
double *G2_pr_fact = new double[(int)G2_i];
и здесь будет проблема
C++
1
G2_pr_fact[i] = G2_pr_fact[i] + G2; //получается массив с шагом G2
так как массив не инициализирован
KIMka
8 / 8 / 0
Регистрация: 20.02.2009
Сообщений: 139
16.04.2009, 20:11  [ТС]     Перемножение элементов массива #5
Как же так. G2_fakt это ведь накопительная переменная, а G2_pr_fact[i], это массив с чмслами которые надо перемножить.
Если бы я написал бы так: G2_fakt+=G2_pr_fact[i] (это в цыкле), то все бы сложилось. А вот перемножить не получается.
ISergey
Maniac
Эксперт С++
1346 / 879 / 51
Регистрация: 02.01.2009
Сообщений: 2,643
Записей в блоге: 1
16.04.2009, 20:23     Перемножение элементов массива #6
Цитата Сообщение от KIMka Посмотреть сообщение
Как же так. G2_fakt это ведь накопительная переменная, а G2_pr_fact[i], это массив с чмслами которые надо перемножить.
Если бы я написал бы так: G2_fakt+=G2_pr_fact[i] (это в цыкле), то все бы сложилось. А вот перемножить не получается.
Ясно понял.
Переменой G2_fakt дайте начальное значение
C++
1
G2_fakt = 1;//только не 0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.04.2009, 20:25     Перемножение элементов массива
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
KIMka
8 / 8 / 0
Регистрация: 20.02.2009
Сообщений: 139
16.04.2009, 20:25  [ТС]     Перемножение элементов массива #7
Цитата Сообщение от ISergey Посмотреть сообщение
Ясно понял.
Переменой G2_fakt дайте начальное значение
C++
1
G2_fakt = 1;//только не 0
а точняк!!! как же я мог забыть)
Спасибо.
Yandex
Объявления
16.04.2009, 20:25     Перемножение элементов массива
Ответ Создать тему
Опции темы

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