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

Произведение элементов массива, расположенных между первым и вторым нулевыми элементами - C++

Восстановить пароль Регистрация
 
ZayacV
2 / 2 / 2
Регистрация: 27.10.2013
Сообщений: 72
20.04.2014, 08:04     Произведение элементов массива, расположенных между первым и вторым нулевыми элементами #1
не могу понять, компилятор ругается на вторую функцию. или я что-то неправильно делаю?
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
//В одномерном массиве, состоящем из п целых элементов, вычислить:
//1) номер максимального элемента массива;
//2) произведение элементов массива, расположенных между первым и вторым нулевыми элементами.
//Преобразовать массив таким образом, чтобы в первой его половине располага¬лись элементы, стоявшие в нечетных позициях, а во второй половине — элемен¬ты, стоявшие в четных позициях.
#include <iostream>
#include <ctime>
#include <iomanip>
using namespace std;
int first(int arr[], int n)
{
    int imax = 0;
    for(int i=0; i<n; i++)
        if(arr[i] > arr[imax])
        {
            imax = i;
        }
    return imax;
}
int second(int arr[], int n)
{
    int first_null, second_null = 0;
    int proiz = 1, i;
    for (int i=0; arr[i]!=0; i++)
    {
        if (i>n)
        {
            cout<<"\nNulevix elementov net!\n";
            return;
        }
    }
    if (arr[i] == 0) first_null = i;
    int p;
    for (int p = first_null+1; arr[p] != 0; p++)
    {
        if (p>n)
        {
            cout<<"\nVtorogo nulevogo elementa net!\n";
            return;
        }
    }
    if (arr[p]==0) second_null = p;
    if ((first_null == i) && (second_null == i+1))
    {
        cout<<"\nElementov mezhdy nulevimi elementami net!\n";
        return;
    }
    first_null += 1;
    while (first_null < second_null)
    {
        proiz *= arr[first_null];
        first_null += 1;
    }
    return proiz;
}
void sort(int arr[], int n)
{
    int temp;
    for (int i=0; i<n-1; i+=2)
    {
        temp = arr[i];
        arr[i] = arr[i+1];
        arr[i+1] = temp;
    }
    for (int j=1; j<=n/2; j++)
        for (int k=0; k<((n%2==1 && k==n/2)? 2:1); k++)
        {
            temp = arr[j];
            for (int i=j+1; i<n; i++) arr[i-1] = arr[i];
            arr[n-1] = temp;
        }
}
int main()
{
    srand(time(0));
    int arr[10];
    for(int i=0; i<10; i++)
    {
        arr[i] = rand()%10-5;
        cout << setw(5) << arr[i];
    }
    cout << endl;
    cout << "Nomer max elementa: " << first(arr, 10) << endl;
    cout << "(Podschet nachinaetsya s 0)..." << endl;
    cout << "Proizvedenie mejdu 1 and 2 null: " << second(arr, 10) << endl;
    sort(arr, 10);
    cout << endl;
    cout << "Otsortirovanniy massiv:\n\n";
    for(int i=0; i<10; i++)
        cout << setw(5) << arr[i];
    cin.get();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2014, 08:04     Произведение элементов массива, расположенных между первым и вторым нулевыми элементами
Посмотрите здесь:

C++ Массив: произведение элементов массива, расположенных между первым и вторым нулевыми элементами.
В одномерном массиве, состоящем из n элементов, вычислить произведение элементов между первым и вторым нулевыми элементами! C++
C++ Дан целочисленный массив размера N. Найти произведение элементов массива, расположенных между первым и вторым нулевыми элементами. зарание благодарен
Вычислить произведение элементов массива, расположенных между первым и вторым нулевыми элементами C++
Подсчитать сумму нечетных отрицательных элементов массива между первым и вторым нулевыми элементами C++
Вычислить произведение элементов массива, расположенных между первым и вторым нулевыми элементами C++
Вычислить произведение элементов массива, расположенных между первым и вторым нулевыми элементами C++
Произведение элементов массива, расположенных между первым и вторым нулевыми элементами C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5955 / 5560 / 1788
Регистрация: 18.12.2011
Сообщений: 14,209
Завершенные тесты: 1
20.04.2014, 09:20     Произведение элементов массива, расположенных между первым и вторым нулевыми элементами #2
45 строка
C++
1
      return 0;
ZayacV
2 / 2 / 2
Регистрация: 27.10.2013
Сообщений: 72
20.04.2014, 13:44  [ТС]     Произведение элементов массива, расположенных между первым и вторым нулевыми элементами #3
вот на скрине показано что что все ретурны должны что-то возвращать, но все равно выдает ошибку) как быть?
Миниатюры
Произведение элементов массива, расположенных между первым и вторым нулевыми элементами  
Yandex
Объявления
20.04.2014, 13:44     Произведение элементов массива, расположенных между первым и вторым нулевыми элементами
Ответ Создать тему
Опции темы

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