Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 04.03.2018
Сообщений: 24
1

Массивы: вывести сумму всех четных/всех нечетных элементов массива

11.03.2018, 17:49. Просмотров 549. Ответов 2
Метки нет (Все метки)

Задание: Пользователь вводит 5 чисел в массив из 5 элементов. Вывести сумму всех четных чисел. А потом всех нечетных.
Есть код:
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
#include<iostream> 
#include<windows.h>
 
using namespace std;
void main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int mas[5], q = 0, w = 0, e = 0, r = 0, t = 0, a = 0, s = 0, d = 0, f = 0, g = 0, y, h;
    cout << "Введите число 1" << endl;
    cin >> mas[0];
    system("cls");
    cout << "Введите число 2" << endl;
    cin >> mas[1];
    system("cls");
    cout << "Введите число 3" << endl;
    cin >> mas[2];
    system("cls");
    cout << "Введите число 4" << endl;
    cin >> mas[3];
    system("cls");
    cout << "Введите число 5" << endl;
    cin >> mas[4];
    system("cls");
 
    if (mas[0] % 2 == 0)
    {
        q=mas[0];
    }
    else
    {
        a=mas[0];
    }
    if (mas[1] % 2 == 0)
    {
        w=mas[1];
    }
    else
    {
        s=mas[1];
    }
    if (mas[2] % 2 == 0)
    {
        e=mas[2];
    }
    else
    {
        d=mas[2];
    }
    if (mas[3] % 2 == 0)
    {
        r=mas[3];
    }
    else
    {
        f=mas[3];
    }
    if (mas[4] % 2 == 0)
    {
        t=mas[4];
    }
    else
    {
        g=mas[4];
    }
    y = q + w + e + r + t;
    h = a + s + d + f + g;
    cout << "Сумма введённых чётных чисел равна " << y << endl;
    cout << "Сумма введённых не чётных чисел равна " << h << endl;
    system("pause");
 
}
Он работает, но нужно сделать с 5 переменными, без циклов
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.03.2018, 17:49
Ответы с готовыми решениями:

Вычислить общую сумму всех четных цифр во всех нечетных элементах
Помогите пожалуйста! Буду очень благодарен!

Создать массив, выводим сумму всех нечетных/четных элементов, найти минимальный и максимальный элементы
Добрый вечер, не могу решить 2 задачи. Первая задача: Создаем массив на 10 элементов, потом...

Найти сумму всех нечетных элементов массива и заменить все четные на эту сумму
#include &lt;iostream&gt; using namespace std; void Sum(int a, int n, int&amp; sum) { for (int i = 0; i...

Найти сумму всех четных элементов двумерного массива
Найти сумму всех четных элементов двумерного массива целых чисел A.

2
6 / 6 / 3
Регистрация: 15.07.2016
Сообщений: 16
11.03.2018, 18:30 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
#include <iostream>
#include<windows.h>
 
using namespace std;
 
void main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    int mas[5], s0 = 0, s1 = 0;
    
    cout << "Введите число 1" << endl;
    cin >> mas[0];
    if (mas[0] % 2)
        s1 += mas[0];
    else
        s0 += mas[0];
    system("cls");
    cout << "Введите число 2" << endl;
    cin >> mas[1];
    if (mas[1] % 2)
        s1 += mas[1];
    else
        s0 += mas[1];
    system("cls");
    cout << "Введите число 3" << endl;
    cin >> mas[2];
    if (mas[2] % 2)
        s1 += mas[2];
    else
        s0 += mas[2];
    system("cls");
    cout << "Введите число 4" << endl;
    cin >> mas[3];
    if (mas[3] % 2)
        s1 += mas[3];
    else
        s0 += mas[3];
    system("cls");
    cout << "Введите число 5" << endl;
    cin >> mas[4];
    if (mas[4] % 2)
        s1 += mas[4];
    else
        s0 += mas[4];
    system("cls");
 
    cout << "Сумма введённых чётных чисел равна " << s0 << endl;
    cout << "Сумма введённых не чётных чисел равна " << s1 << endl;
    system("pause");
 
    int s2, s3; //просто, чтобы переменных стало 5.
 
}
Так работает не на всех компиляторах, и говорят, стандартом не предусмотрено.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
using namespace std;
 
int i = 0, sum0, sum1;
int a[5];
 
int main() {
 
    if (i != 5 && (cin >> a[i])) {
 
        (a[i] % 2) ? sum1 += a[i++] : sum0 += a[i++];
        main();//для любителей без цикла, так делать нельзя
    }
 
    cout << sum0 << ' ' << sum1 << endl;    
}
1
Модератор
Эксперт по электронике
8319 / 6172 / 828
Регистрация: 14.02.2011
Сообщений: 21,449
11.03.2018, 18:54 3
Цитата Сообщение от BITTIX Посмотреть сообщение
без циклов

C++
1
2
3
4
5
6
7
8
9
10
11
12
 void func(int &a, int &b, int * arr,int size)
 {
  if(size==0)
  {
     return;
  }
  if(*arr%2==0)
    a+=*arr;
  else
   b+=*arr;
  func(a,b,arr+1,size-1);
 }
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.03.2018, 18:54

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Найти сумму и произведение всех четных элементов массива
В заданном целочисленном массиве z1,z2,...,Zn найти сумму и произведение всех четных элементов....

Массивы в C++: найти сумму всех элементов массива
Подскажите пожалуйста, где здесь ошибка? Мне нужно написать программу ввода 10 чисел в массив, и...

Найти сумму всех положительных элементов массива и среднее арифметическое всех элементов
Помогите написать программу: Дан массив A. Найти сумму всех положительных элементов массива и...

Рассчитать сумму всех отрицательных элементов массива, количество нечетных и количество серий нулевых
Прошу слишком многое, но мне нужно в срочном порядке сдать работу, которой у меня нет. Прошу...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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