С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 4
Регистрация: 21.08.2017
Сообщений: 208

Ошибка вычисления суммы элементов массива

01.10.2017, 23:52. Показов 785. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В одномерном массиве, состоящем из n целых элементов вычислить:
1) Произведение элементов массива с положительными четными элементами;
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
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
#include <iostream>
#include <math.h>
#include <conio.h>
using namespace std;
 
void main () {
int i, j, n, count1, count2, x, y;
cout << "Vvedite kolichestvo elementov N:\n";
cin >> n;
int *arr = new int [n];
for(i = 0; i < n; i++) {
cout << "Vvedite element " << i+1 << ":\n";
cin >> arr[i];
}
int p, s;
p = 1;
s = 0;
count1 = 0;
count2 = 0;
for(i = 0; i < n; i++) {
if ((arr[i] > 0) && (arr[i] % 2 == 0)) {
p = p * arr[i];
count1++;
if (i == n - 1) {
cout << "Proizvedenie polozhitelnyh chetnyh elementov ravno " << p << endl;
}
}
else if (i == n - 1) {
if (count1 == 0) {
cout << "Polozhitelnyh chetnyh elementov net!\n";
}
else {
cout << "Proizvedenie polozhitelnyh chetnyh elementov ravno " << p << endl;
}
}
}
for(i = 0; i < n; i++) {
if (arr[i] != 0) {
x = i;
}
}
for(j = n - 1; j >= 0; j--) {
if (arr[j] != 0) {
y = j;
}
}
for(i = x + 1; i < y; i++) {
s = s + arr[i];
count2++;
}
if (count2 == 0) {
cout << "Nenulevyh elementov net ili pervyj i poslednij nenulevoj element - sosedi!\n";
}
else {
cout << "Summa elementov mezhdu pervym i poslednim nenulevym elementom ravna " << s << endl;
}
delete []arr;
_getch();
}
Почему сумма элементов не посчиталась?
Миниатюры
Ошибка вычисления суммы элементов массива  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.10.2017, 23:52
Ответы с готовыми решениями:

Ошибка вычисления суммы второго массива
Всем привет.. помогите исправить ошибку.. задание в 3 одномерных заданых масивах нада обчислить суму отрицательных элементов и вывести... ...

Составить программу вычисления и печати суммы отрицательных элементов среди четных элементов массива
#include &lt;math.h&gt; #include &lt;stdio.h&gt; #include&lt;malloc.h&gt; void pech_m(float *, int, int); void f1(float *, int, int); float ...

Написать программу ввода в массив 6x5 элементов чисел и вычисления суммы элементов полученного массива
Пожалуйста помогите решить!

4
15 / 15 / 8
Регистрация: 01.10.2017
Сообщений: 97
02.10.2017, 00:26
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
#include <iostream>
 
void main(){
int randArray[100] = { 0 };
    int mult = 0, sum = 0;
    bool ns = false;
        //заполняем случайными значениями
    for (int i = 0; i < 100; i++)
        randArray[i] = std::rand() % range;
 
    for (int i = 0; i < 100; i++) {
                //произведение положительных, четных элементов массива, за комментирован каждый четный по счету  элемент
        if (randArray[i] > 0 && !(randArray[i] % 2)) {// && !(i % 2))
            if (!mult)
                mult = randArray[i];
            else
                mult *= randArray[i];
        }
              // сложение
        if (!ns && randArray[i]){
            sum += randArray[i];
                        ns = true;
}
    }
    std::cout << "mult = " << mult << std::endl << "sum = " << sum << std::endl;
}
0
0 / 0 / 4
Регистрация: 21.08.2017
Сообщений: 208
02.10.2017, 09:16  [ТС]
Пожалуйста, укажите ошибки в моем коде. Знаю C++ только на уровне "HelloWorld!"
ForceGuard,Я вводил свой массив с клавиатуры, а не с помощью генератора случайных чисел.
Пожалуйста, сделайте комментарии к строкам Вашей программы.
0
Модератор
Эксперт С++
 Аватар для zss
13769 / 10962 / 6491
Регистрация: 18.12.2011
Сообщений: 29,240
02.10.2017, 09:28
после 39 и 44 строк надо вставить оператор
C++
1
break;
Иначе циклы прокрутятся до конца и получится x>y
0
15 / 15 / 8
Регистрация: 01.10.2017
Сообщений: 97
02.10.2017, 09:52
БузинВладимир, в более раннем моем коде косячек, правильно :
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
#include <iostream>
 
void main(){
int randArray[100] = { 0 };
    int mult = 0, sum = 0;
    bool ns = false;
        //заполняем случайными значениями
    for (int i = 0; i < 100; i++)
        randArray[i] = std::rand() % range;
 
    for (int i = 0; i < 100; i++) 
       {
                //произведение положительных, четных элементов массива, за комментирован каждый четный по счету  элемент
        if (randArray[i] > 0 && !(randArray[i] % 2)) {// && !(i % 2))
            if (!mult)
                mult = randArray[i];
            else
                mult *= randArray[i];
        }
              // сложение
        if (!randArray[i])
            ns = true;
        if (!ns && randArray[i])
            sum += randArray[i];   
     }
    std::cout << "mult = " << mult << std::endl << "sum = " << sum << std::endl;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.10.2017, 09:52
Помогаю со студенческими работами здесь

Написать функцию вычисления суммы элементов массива
1)написать функцию вычисления суммы элементов массива

Написать функцию вычисления суммы элементов массива
вот мои наработки...ошибки выдает,а я их не вижу. #include &lt;iostream.h&gt; #include &lt;stdlib.h&gt; main() { int fun(int x); { int...

Неправильно считает функцию вычисления суммы элементов массива
Добрый день! Имеется код, но функция неправильно выводит результат. Подскажите, что неверно. #include &quot;stdafx.h&quot; #include...

Рекурсия для вычисления суммы элементов массива по условию
Добрый день! Помогите пожалуйста написать программу. В программе есть данная функция: int MasX(int **A) { int x; int i, j; ...

Массив: Написать функцию вычисления суммы элементов массива
Написать функцию вычисления суммы элементов массива


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru