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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать программу выставления судейских оценок http://www.cyberforum.ru/cpp-beginners/thread917469.html
На многих соревнованиях выступление спортсменов оценивается определённым количеством судей. Каждый судья выставляет оценку в диапазоне от 1 до 10 баллов. Далее одна наибольшая и одна наименьшая оценки отбрасываются и подсчитывается сумма оценок, которые остались. Напишите программу, которая определяет количество баллов, полученных спортсменом от судей. Ввод. Сначала вводится натуральное число...
C++ Линейный однонаправленный список. Описать процедуру добавления одного или нескольких элементов Читая целые числа из текстового файла, создать линейный односвязный список. Описать процедуру добавления одного или нескольких элементов в список. Добавить новый элемент перед каждым элементом с заданным значением http://www.cyberforum.ru/cpp-beginners/thread917467.html
C++ unordered_multimap - интервальный конструктор
Как можно воспользоваться интервальным конструктором для unordered_multimap в таком вот коде:#include <iostream> #include <string> #include <sstream> #include <unordered_map> #include <iterator> using input = std::istream_iterator<std::string>; int main(int argc, char** argv) {
C++ «Массив структур»
Написал программу на написание функции чтения в массив структур из файла. Данные «Пациент». Программа не работает, а именно при компиляции выбрасывает из программы, либо идёт её завершение. Не могу понять в чём дело. Помогите разобраться, пожалуйста. Код программы: #include<iostream> #include<fstream> using namespace std; int n=0; // счётчик для количества пациентов
C++ Помогите написать программу простого словаря http://www.cyberforum.ru/cpp-beginners/thread917426.html
Люди помогите, нужно сдать последнюю Лабу. Задача: Составить программу простейшего автоматизированного англо – немецко – русского словаря, данные словаря хранятся в файле. Программа должна выполнять следующие задачи: 1) Заполнение новых и вычеркивание ненужных слов в словаре. 2) По запросу пользователя словарем выдавать перевод слова с любого языка на два других 3) Производить поиск нужного...
C++ Перевести код на c++ Всем привет! Столкнулся с такой проблемой... есть код на freebasic нужно его перевести на с++... Ну вот что-то никак не выходит... Я не знаком с бейсиком, ну да ладно бы это... но там какие-то ф-ции стандартные из него использованы и вот в них как раз и загвоздка... не могу понять что они делают... код ... Function CalcDist(x1 As Integer, x2 As Integer, y1 As Integer, y2 As Integer) As... подробнее

Показать сообщение отдельно
slavikk07
3 / 3 / 0
Регистрация: 27.02.2013
Сообщений: 62
04.07.2013, 11:29     Одномерные массивы (вычислить произведение элементов, сумму элементов массива между первым и последним нулевыми, преобразовать)
Здравствуйте, помогите пожалуйста... мне нужно сделать программу для работы с одномерным массивом...

С одномерным массивом, состоящим из 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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru