Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.59/41: Рейтинг темы: голосов - 41, средняя оценка - 4.59
12 / 1 / 0
Регистрация: 19.11.2014
Сообщений: 42

Массив: вычислить произведение элементов массива с четными номерами

29.10.2015, 16:21. Показов 8218. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В одномерном массиве, состоящем из N вещественных элементов, вычислить:
1) произведение элементов массива с четными номерами;
2) сумму элементов массива, расположенных между первым и последним нулевыми элементами.
Помогите, кто сможет...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.10.2015, 16:21
Ответы с готовыми решениями:

Вычислить произведение элементов массива с четными номерами
В одномерном массиве, состоящем из N целых элементов, вычислить: - произведение элементов массива с четными номерами;

Вычислить произведение элементов массива с четными номерами
В одномерном массиве, состоящем из n целочисленных элементов, вычислить: • произведение элементов массива с четными номерами; *Вот...

Вычислить произведение элементов массива с четными номерами
#include <iostream> #include <conio.h> using namespace std; int main() { int N,i=1,min,max; int a=1; int sum=0; int j=0; ...

14
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 35
29.10.2015, 16:24
Цитата Сообщение от Nike91 Посмотреть сообщение
произведение элементов массива с четными номерами;
C++
1
if (i % 2 == 0) result *= array[i];
Цитата Сообщение от Nike91 Посмотреть сообщение
2) сумму элементов массива, расположенных между первым и последним нулевыми элементами.
Ищём первый и последний нулевые элементы, запоминаем индексы, запускаем фор от индекса первого + 1 до индекса второго -1.
1
12 / 1 / 0
Регистрация: 19.11.2014
Сообщений: 42
29.10.2015, 16:31  [ТС]
а как это реализовать на языке C++?
0
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 35
29.10.2015, 16:32
Nike91, я же написала. Если что-то не получается - бросайте свой код, поправлю.
0
12 / 1 / 0
Регистрация: 19.11.2014
Сообщений: 42
29.10.2015, 16:48  [ТС]
даже не могу массив рандомно ввести

Добавлено через 2 минуты
нас на парах почему-то даже синтаксису С++ не учат, всё на самостоятельное изучение, а задачи задают...не знаю как самостоятельно можно его изучить
0
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 35
29.10.2015, 16:50
Nike91, Вы вроде в 21 веке. Вся информация давно доступна.
Цитата Сообщение от Nike91 Посмотреть сообщение
даже не могу массив рандомно ввести
Что значит "рандомно ввести"? Ввести или рандомно задать?
0
12 / 1 / 0
Регистрация: 19.11.2014
Сообщений: 42
29.10.2015, 16:54  [ТС]
задать
0
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 35
29.10.2015, 17:17
Nike91, Рандомно заполнить массив цифрами от 0 до 9
0
 Аватар для anti-k
227 / 75 / 31
Регистрация: 17.07.2015
Сообщений: 774
29.10.2015, 17:20
Nike91,
Так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<iostream>
#include<ctime>
int main() {
    int arr[20],res=0;
    for (int i = 0; i < 20; i++) {
        arr[i] = rand() % 5;
        std::cout << arr[i] << " ";
    }
    
    res = arr[2];
    for (int i = 3; i < 20; i++) {
        if (i % 2&&arr[i])
            res *= arr[i];
    }
    std::cout <<'\n'<< res << std::endl;
    system("pause");
    return 0;
}
Добавлено через 52 секунды
Nike91, ели элемент равен нулю мы его так же пропускаем, иначе результат 0
1
601 / 468 / 73
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
29.10.2015, 17:30
а какой в этом смысл?
Цитата Сообщение от anti-k Посмотреть сообщение
C++
1
2
3
4
for (int i = 3; i < 20; i++) {
    if (i % 2&&arr[i])
        res *= arr[i];
    }
если можно:
C++
1
2
3
for (int i = 0; i < 20; i += 2) {
    res *= arr[i];
}
(от нуля, кажется, логичнее, ибо 0 -- тоже четное, а у вас оно не учитывается)
или там есть какое-то тайное послание, чтоб итерировать по каждому элементу, а учитывать только каждый второй?
2
 Аватар для anti-k
227 / 75 / 31
Регистрация: 17.07.2015
Сообщений: 774
29.10.2015, 17:35
Лучший ответ Сообщение было отмечено Nike91 как решение

Решение

NEbO, вы правы абсолютно, писал в спешке
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<iostream>
#include<ctime>
int main() {
    srand(time(NULL));
    int arr[6],res=1;
    for (int i = 0; i < 6; i++) {
        arr[i] = rand() % 5;
        std::cout << arr[i] << " ";
    }
    
    for (int i = 0; i < 6; i += 2) {
        if(arr[i])
        res *= arr[i];
    }
    std::cout <<'\n'<< res << std::endl;
    
    system("pause");
    return 0;
}
1
601 / 468 / 73
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
29.10.2015, 17:43
ну ладно, а зачем тогда проверять число в цикле на ноль, если можно рандом от единицы генерить?
C++
1
2
3
4
for (int i = 0; i < 6; i++) {
    arr[i] = 1 + rand() % 5;
    std::cout << arr[i] << " ";
}
ну или % 4, если нужен именно диапазон [1,4]
0
 Аватар для anti-k
227 / 75 / 31
Регистрация: 17.07.2015
Сообщений: 774
29.10.2015, 17:46
Лучший ответ Сообщение было отмечено Nike91 как решение

Решение

Nike91, касаемо суммы
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<ctime>
int main() {
    srand(time(NULL));
    int arr[10],res=1;
    for (int i = 0; i < 10; i++) {
        arr[i] = rand() % 5;
        std::cout << arr[i] << " ";
    }
    int st = 0, fin = 0;
    for (int i = 0; i < 10; i++) {
        if (arr[i] == 0) {
            st = i;
            break;
        }
    }
for (int i = 9; i>0; i--) {
    if (arr[i] == 0) {
        fin = i;
        break;
    }
}
 
int summa = 0;
//if (st&&fin)
for (int i = st; i <= fin; i++)
    summa += arr[i];
 
std::cout << '\n'<<summa << std::endl;
 
 
    system("pause");
    return 0;
}
1
12 / 1 / 0
Регистрация: 19.11.2014
Сообщений: 42
31.10.2015, 13:12  [ТС]
C++ (Qt)
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
#include<iostream>
#include<ctime>
 
using namespace std;
 
int main() 
{
    srand(time(NULL));
    int arr[20],res=1,pr=1;
    for (int i = 0; i < 20; i++) {
        arr[i] = rand() % 5;
        std::cout << arr[i] << " ";
    }
    int per = 0, pos = 0;
    for (int i = 0; i < 20; i++)
    {
        if (arr[i] == 0)
        {
            per = i;
            break;
        }
    }
for (int i = 19; i>0; i--) {
    if (arr[i] == 0) {
        pos = i;
        break;
    }
}
int summa = 0;
 
for (int i = per; i <= pos; i++)
    summa += arr[i];
 
    for (int i = 0; i < 20; i += 2) 
    {
        if(arr[i])
        pr += arr[i];
    }
 
cout << '\n'<<summa << std::endl;
cout << pr << std::endl; 
    system("pause");
    return 0;
}
Попытался объединить, но вот с произведением элементов с чётными номерами не получается...
0
 Аватар для anti-k
227 / 75 / 31
Регистрация: 17.07.2015
Сообщений: 774
03.11.2015, 08:06
Nike91, У вас все верно работает кроме
Цитата Сообщение от Nike91 Посмотреть сообщение
int arr[20],res=1,pr=1;
Переменная res не используется вообще, и из-за того что pr=1 результат суммы четных ровно на 1 больше чем нужно ) обнулите pr
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.11.2015, 08:06
Помогаю со студенческими работами здесь

Вычислить произведение элементов массива с четными номерами
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1.Произведение элементов массива с четными номерами.

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

Вычислить произведение элементов массива с чётными номерами
1. Вычислить произведение элементов массива с чётными номерами.

Вычислить произведение элементов массива с четными номерами
помогите задачу решить( В одномерном массиве, состоящем из N вещественных элементов, вычислить: произведение элементов массива с...

Вычислить произведение элементов массива с четными номерами
В одномерном массиве, состоящем из целых элементов, вычислить: произведение элементов массива с четными номерами;


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru