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

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

Войти
Регистрация
Восстановить пароль
 
slavikk07
3 / 3 / 0
Регистрация: 27.02.2013
Сообщений: 64
#1

Одномерные массивы (вычислить произведение элементов, сумму элементов массива между первым и последним нулевыми, преобразовать) - C++

04.07.2013, 11:29. Просмотров 574. Ответов 5
Метки нет (Все метки)

Здравствуйте, помогите пожалуйста... мне нужно сделать программу для работы с одномерным массивом...

С одномерным массивом, состоящим из n целочисленных элементов, произвести следующие операции:
1) вычислить произведение элементов массива с четными номерами;
2) вычислить сумму элементов массива, расположенных между первым и последним нулевыми элементами;
3) преобразовать массив таким образом, чтобы сначала располагались все неотрицательные элементы, а потом – все отрицательные.

Я как бы все это сделал. Но у меня при компиляции выводит ошибку:
Error E2313 task4.cpp 83: Constant expression required in function main()
не могу понять в чем причина... ПОМОГИТЕ

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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#include <iostream>
#include <cstdlib>
 
using namespace std;
 
//#define ARRAY_SIZE 10
 
//Вычисление произведения четных элементов
int proizv(int SIZE, int  ARRAY[])
{
int i;
int pro = 1;
for (i=0; i<SIZE; i=i+2)
{
pro =  pro * ARRAY[i];
}
return pro;
}
 
//Сумма между первым и последним нулем
int summ(int SIZE, int  ARRAY[])
{
int i;
int first = 0, last = 0;
for (i=0; i<SIZE; i++) //поиск первого нулевого элемента
if (ARRAY[i] == 0)
    {
    first = i;
    break;
    }
for (i=SIZE; i>0; i--) //поиск последнего нулевого элемента
if (ARRAY[i] == 0)
    {
    last = i;
    break;
    }
 
 
int sum = 0;
for (i=first; i<last; i++)
{
sum = sum + ARRAY[i];
}
return sum;
}
 
//Преобразование массива 
int sort(int SIZE, int  ARRAY[])
{
int i, b, j;
for (j=1; j<SIZE; j++)
for (i=0; i<SIZE-j; i++)
if (ARRAY[i]<ARRAY[i+1])
{
 b=ARRAY[i]; 
 ARRAY[i]=ARRAY[i+1]; 
 ARRAY[i+1]=b; 
}
for (i=0; i<SIZE; i++) cout<<ARRAY[i]<<"\t"; //вывод упорядоченного массива
cout << ("\n");
system("pause");
return 0; 
}
 
int main ()
{
const ARRAY_SIZE = 10;
int dud, nun;
    int SIZE;
    int spw;
 
        
      cout << "Введите размер масива(максимальный размер 10): ";
  
      do{ 
      cin >> SIZE;
      if (SIZE > ARRAY_SIZE){
      cout << "Ошибка! максимальный размер не может быть больше 10, повторите ввод: ";
      
      }
      }while (SIZE > ARRAY_SIZE);
      
      int ARRAY[SIZE]; 
      cout << "Выберите способ заполнения масива:" << "\n";
      cout << "1 ручной ввод" << "\n";
      cout << "2 заполнение случайными числами" << "\n";
      cin >> spw;
      
      if (spw==1){
      
 for(int i = 0; i < SIZE; i++){
      cin >> ARRAY[i];
          }
          }
          else {
            for (int i=0; i < SIZE; i++){
            ARRAY[i]=rand() % 1000;
            }
            cout << "Масив: " << "\n";
            for (int n=0; n < SIZE; n++){
            cout << ARRAY[n] << endl;
            }
          }
    
    dud=proizv(SIZE, ARRAY);
    cout << "Произведение элементов масива с чётными номерами = "<< dud << endl;
    
    nun=summ(SIZE, ARRAY);
    cout << "Сумма элементов между первым и последним нулём = "<< nun << endl;
    
    sort(SIZE, ARRAY);
    cout << "Вывод упорядоченного массива" << "\n";
    for (int n=0; n < SIZE; n++){
    cout << ARRAY[n] << endl;
    }
 
    system("pause");
  return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.07.2013, 11:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Одномерные массивы (вычислить произведение элементов, сумму элементов массива между первым и последним нулевыми, преобразовать) (C++):

Вычислить сумму элементов массива расположенных между первым и последним нулевыми элементами - C++
Реализовать с использованием указателей и механизма функций В одномерном массиве, состоящем из n целых элементов, вычислить: - сумму...

Вычислить сумму элементов массива, расположенных между первым и последним нулевыми элементами - C++
В одномерном массиве, состоящем из целых элементов, вычислить: сумму элементов массива, расположенных между первым и последним нулевыми...

Вычислить сумму элементов массива, расположенных между первым и последним нулевыми элементами - C++
В одномерном массиве, состоящем из N целых элементов, вычислить: - Сумму элементов массива, расположенных между первым и последним...

Вычислить сумму элементов массива между первым и последним нулевыми элементам. Помогите с блок-схемой - C++
Помогите с блок схемой! Программу написал а вот с блок схему сделать не могу. За ранее Спасибо!!! Задача: в одномерном массиве...

В одномерном массиве вычислить сумму элементов между первым и последним нулевыми элементами - C++
в одномерном массиве состоящем из n вещественных элементов вычислить сумму элементов между первым и последним нулевыми элементами ...

Сумму элементов массива, расположенных между первым и последним нулевыми элементами - C++
Помогите пожалуйста! 1. Задан массив из N действительных чисел. Составьте программу для поиска в этом массиве: Сумму элементов массива,...

5
chizz
980 / 495 / 54
Регистрация: 19.03.2013
Сообщений: 3,093
Записей в блоге: 18
Завершенные тесты: 1
04.07.2013, 11:39 #2
C++
1
int ARRAY[SIZE];
Как я понимаю, если ты пишешь такую конструкцию, то должен использовать константу в указании размера массива.

иначе нужно создавать массив динамически

что-то вроде ( в синтаксисе могу ошибиться)
C++
1
int array[] = new int[size];
1
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,168
Завершенные тесты: 2
04.07.2013, 11:42 #3
Цитата Сообщение от chizz Посмотреть сообщение
int array[] = new int[size];
C++
1
int *array = new int[size];
2
Maxtron
50 / 50 / 3
Регистрация: 17.11.2012
Сообщений: 228
Записей в блоге: 1
04.07.2013, 11:44 #4
Цитата Сообщение от chizz Посмотреть сообщение
C++
1
int ARRAY[SIZE];
Как я понимаю, если ты пишешь такую конструкцию, то должен использовать константу в указании размера массива.

иначе нужно создавать массив динамически

что-то вроде ( в синтаксисе могу ошибиться)
C++
1
int array[] = new int[size];
да..все верно, либо так:
C++
1
2
int *mas;
mas = (int*) calloc (size,sizeof(int));
1
chizz
04.07.2013, 11:45
  #5

Не по теме:

хэловорд фест детектед?

0
slavikk07
3 / 3 / 0
Регистрация: 27.02.2013
Сообщений: 64
04.07.2013, 11:58  [ТС] #6
Всем спасибо! я понял ошибку)))
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.07.2013, 11:58
Привет! Вот еще темы с ответами:

Сумму элементов массива, расположенных между первым и последним нулевыми элементами. - C++
Сумму элементов массива, расположенных между первым и последним нулевыми элементами. Вот код: #include &lt;iostream.h&gt; #include...

Найти сумму элементов массива, расположенных между первым и последним нулевыми элементами - C++
В одномерном массиве, состоящем из n целых элементов, вычислить: 2) сумму элементов массива, расположенных между первым и последним...

Найти сумму элементов массива, расположенных между первым и последним нулевыми элементами - C++
. В одномерном массиве, состоящем из n вещественных элементов, вычислить: • произведение элементов массива с чётными номерами; • сумму...

Как можна в етом примере найти сумму элементов массива, расположенных между первым и последним нулевыми элементами? - C++
#include &quot;stdafx.h&quot; #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; using namespace std; ...


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

Или воспользуйтесь поиском по форуму:
6
Yandex
Объявления
04.07.2013, 11:58
Ответ Создать тему
Опции темы

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