Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 10.09.2017
Сообщений: 30
1

Произведение чисел между двумя нулями

26.12.2017, 10:42. Показов 1779. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дано целое число N (N > 0) (консоль) и набор из N целых положительных чисел (вводить в консоли), содержащий по крайней мере два нуля. Вывести на консоль произведение чисел из данного набора, расположенных между этими двумя нулями (если два нуля идут подряд, то вывести 0). Не знаю как делать. Недавно начал изучать язык Си. Если не сложно то можно с комментариями.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.12.2017, 10:42
Ответы с готовыми решениями:

Вывести сумму чисел, расположенных между последними двумя нулями
Дано целое число N ( N > 2) и набор из N целых чисел, содержащий по крайней мере 2 нуля. Вывести...

Вывести сумму чисел из данного набора, расположенных между последними двумя нулями (С++ -> Си)
Доброго времени суток, дорогие работяги! Мне нужна ваша помощь. А именно: Нужно перевести этот...

Посчитать сумму элементов последовательности между двумя первыми нулями (переделать код)
Есть код, в котором при вводе последовательности чисел считает сумму чисел между двумя ПОСЛЕДНИМИ...

Почему находится произведение между двумя нулями?
Не могу понять почему произведение между двумя нулями находится, даже если нет нулей. Что нужно...

2
48 / 46 / 18
Регистрация: 27.04.2016
Сообщений: 169
26.12.2017, 11:13 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
#include <stdio.h>
 
int main(void)
{
    int *arr;
    int i, n;
    int zero;
    int prod;
    
    printf("Please, enter the N: ");
    scanf("%d", &n);
    
    arr = malloc(sizeof(int) * n);
    for(i = 0; i < n; i++) {
        printf("Please, enter a value: ");
        scanf("%d", &arr[i]);
    }
 
    for(i = 0, zero = 0, prod = 0; i < n; i++) {
        if(arr[i] == 0 && !zero)
            zero = 1;
        else if(arr[i] == 0 && zero)
            zero = 0;
 
        if(zero && !prod)
            prod = arr[i];
        else if(zero && prod)
            prod *= arr[i];
    }
 
    printf("%d\n", prod);
 
    return 0;
}
0
174 / 134 / 105
Регистрация: 14.04.2016
Сообщений: 719
26.12.2017, 11:45 3
Лучший ответ Сообщение было отмечено Arsen99 как решение

Решение

si1n3rd,

C
1
2
3
4
5
6
7
8
    prod = 1;
    for (i = 0; arr[i - 1] != 0;)
        i++;
    if (srr[i] != 0)
        for (; arr[i] != 0; i++)
            prod *= arr[i];
    else
        prod = 0;
1
26.12.2017, 11:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.12.2017, 11:45
Помогаю со студенческими работами здесь

Вывести сумму чисел из набора чисел, расположенных между первыми двумя нулями
Дано целое число N и набор из N целых чисел, содержащих по крайней мере два нуля. Вывести сумму...

Сумма чисел, расположенных между первыми двумя нулями
Дано целое число N и набор из N целых чисел, содержащий по крайней мере два нуля. Вывести сумму...

В одномерном массиве целых чисел содержится два нулевых значения. Подсчитать сумму чисел, заключённых между двумя нулями.
В одномерном массиве целых чисел содержится два нулевых значения. Подсчитать сумму чисел,...

Вывести сумму чисел из данного набора, расположенных между двумя нулями
Задание: дано целое число N и набор из N целых положительных чисел, содержащий по крайней мере два...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru