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

Дан целочисленный массив размера N. Найти произведение элементов массива, расположенных между первым и вторым нулевыми элементами. зарание благодарен - C++

Восстановить пароль Регистрация
 
versa4e_1706
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 11
03.11.2012, 16:56     Дан целочисленный массив размера N. Найти произведение элементов массива, расположенных между первым и вторым нулевыми элементами. зарание благодарен #1
Помогите пожалуйста написать код
Дан целочисленный массив размера N. Найти произведение элементов массива, расположенных между первым и вторым нулевыми элементами.
зарание благодарен

Добавлено через 20 минут
начал писать
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    setlocale(LC_CTYPE, "Rus");
    const int N=10;
    int arr[N];
    for (int i=0;i<N;i++)
    {
        cout <<"Введите элемент массива:"<<endl;
        cin>>arr[i];
    }
    cin.get();
    return 0;
}
дальше не пойму как условие нужно задавать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.11.2012, 16:56     Дан целочисленный массив размера N. Найти произведение элементов массива, расположенных между первым и вторым нулевыми элементами. зарание благодарен
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
amoral-time
 Аватар для amoral-time
2 / 2 / 0
Регистрация: 08.11.2010
Сообщений: 8
03.11.2012, 17:05     Дан целочисленный массив размера N. Найти произведение элементов массива, расположенных между первым и вторым нулевыми элементами. зарание благодарен #2
Находишь сначала индекс первого нулевого, потом второго нулевого. И циклом находишь произведение элементов.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int ind1 =0, ind2 = 0;
int prod = 0;
for(int i = 0; i< N; i++)
{
     if(arr[i] == 0)
           ind1 = i;
}
 
for(int i = ind1+1; i < N; i++)
{
       if(arr[i] == 0)
            ind2 = i;
}
 
for(int i = ind1; i< ind2; i++)
        prod *= arr[i];
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
03.11.2012, 17:12     Дан целочисленный массив размера N. Найти произведение элементов массива, расположенных между первым и вторым нулевыми элементами. зарание благодарен #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>
int main(void)
{
 const int n=10;
 int* arr = new int [n],k=0,i;
 for (i=1;i<=n;i++)
 {
  std::cout<<"Введите элемент массива: "<<std::endl;
  std::cin>>arr[i];
  if (!arr[i] && !k)
   k=i; 
 }
 int p=1;
 for (i=k+1;arr[i];i++)
  p*=arr[i];
 if (k+1==i)
  p=0;
 std::cout<<"Произведение: "<<p<<std::endl;
 delete[] arr;
 system("PAUSE");
 return 0;
}
Добавлено через 1 минуту
Цитата Сообщение от amoral-time Посмотреть сообщение
int prod = 0;
...
prod *= arr[i];
Сколько на 0 не умножай, все равно 0 выйдет)
Здесь вполне одним циклом можно обойтись.
kuli4ok
31 / 31 / 3
Регистрация: 10.10.2012
Сообщений: 88
03.11.2012, 17:13     Дан целочисленный массив размера N. Найти произведение элементов массива, расположенных между первым и вторым нулевыми элементами. зарание благодарен #4
или так, если надо указать размер массива.
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
39
40
41
42
#include <stdio.h>
 
int main()
{
    int *a;
    int *k;
    k = new int;
    printf("Укажите размер массива: ");
    scanf("%d", k);
    a = new int[*k];
    for(int i=0; i<*k; i++)
    {
        printf("Введите элемент массива №%d: ", i+1);
        scanf("%d", &a[i]);
    }
    puts("\nВвод окончен.\n");
    int *s;
    s = new int;
    for(int i=0; i<*k; i++)//поиск первого нулевого элемента
    {
        if(a[i]==0) {*s=i;}
    }
    int *l;
    l = new int;
    for(int i=*s+1; i<*k; i++)//поиск второго элемента
    {
        if(a[i]==0) {*l=i;}
    }
    delete k;
    k = new int;
    *k = 1;
    for(int i=*k+1; i<*s; i++)
    {
        *k = (*k)*a[i];
    }
    delete s;
    delete l;
    delete [] a;
    printf("Произведение: %d\n", *k);
    delete k;
    return 0;
}
мог накосячить с освобождением памяти, спешил
versa4e_1706
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 11
03.11.2012, 17:22  [ТС]     Дан целочисленный массив размера N. Найти произведение элементов массива, расположенных между первым и вторым нулевыми элементами. зарание благодарен #5
очень благодарен) сейчас буду тестировать
amoral-time
 Аватар для amoral-time
2 / 2 / 0
Регистрация: 08.11.2010
Сообщений: 8
03.11.2012, 18:18     Дан целочисленный массив размера N. Найти произведение элементов массива, расположенных между первым и вторым нулевыми элементами. зарание благодарен #6
BumerangSPб точно) привычка обнулять переменные)
Yandex
Объявления
03.11.2012, 18:18     Дан целочисленный массив размера N. Найти произведение элементов массива, расположенных между первым и вторым нулевыми элементами. зарание благодарен
Ответ Создать тему
Опции темы

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