Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
314251
0 / 0 / 0
Регистрация: 28.02.2016
Сообщений: 194
1

Подсчитать сумму четных элементов и произведение нечетных элементов матрицы

15.02.2018, 11:38. Просмотров 794. Ответов 6
Метки нет (Все метки)

Помогите пожалуйста исправить ошибку, в выделенном месте пишет if (a[i][j] % 2 == 0) "выражение должно относиться к целочисленному типу или типу перечисления без области видимости"

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
//
#include "stdafx.h"
#include "iostream"
#include <math.h>
using namespace std;
int main()
{
        double **a;
        int i, j, n, m;
        cout << "Vvedite razmer: n, m" << endl;
        cin >> n >> m;
 
        a = new double*[n]; // Выделение памяти под массив указателей
        for (i = 0; i<n; i++) // Выделение памяти под соответствующие
            a[i] = new double[m]; // этим указателям строки матрицы
 
        for (i = 0; i<n; i++) // Ввод двумерного массива
            for (j = 0; j<m; j++)
            {
                cout << "Vvedite a[" << i << "][" << j << "]: ";
                cin >> a[i][j];
            }
        cout << "Massiv A:" << endl; // Вывод двумерного массива
        for (i = 0; i<n; i++)
        {
            for (j = 0; j<m; j++)
                cout  << a[i][j] << " ";
            cout << endl;
        }
        int sum = 0, proz = 1;
        for (i = 0; i<n; i++) 
            for (j = 0; j<m; j++)
        {       
            if (a[i][j] % 2 == 0)
                sum += a[i][j];
            else
                proz *= a[i][j];
        }
        delete[] a[i];
        delete[]a;
        system("pause");
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2018, 11:38
Ответы с готовыми решениями:

Для каждой строки матрицы найти произведение четных элементов и сумму нечетных
В матрице размером m на n для каждой строки матрицы найти произведение четных...

Найти сумму четных элементов, количество нечетных элементов и произведение элементов, кратным 3
Дан одномерный массив состоящий из 10 элементов а) найти сумму четных...

Найти сумму четных и произведение нечетных элементов
В массиве X(n) после каждого отрицательного элемента вставить ноль....

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

Найти сумму четных и произведение нечетных элементов массива
В массиве X(n) после каждого отрицательного элемента вставить ноль....

6
Gaveyn
95 / 94 / 11
Регистрация: 12.09.2016
Сообщений: 168
15.02.2018, 11:51 2
Лучший ответ Сообщение было отмечено 314251 как решение

Решение

Операцию % можно использовать только для целых чисел,а у тебя массив с дробными
0
1Вирт1
168 / 192 / 48
Регистрация: 25.08.2011
Сообщений: 793
Завершенные тесты: 5
15.02.2018, 12:01 3
Gaveyn, хороший вопрос почему они вообще тут дробные?
0
Gaveyn
95 / 94 / 11
Регистрация: 12.09.2016
Сообщений: 168
15.02.2018, 14:16 4
1Вирт1, потому что массив массив double
0
_stanislav
Рука
416 / 379 / 206
Регистрация: 16.08.2014
Сообщений: 1,701
Завершенные тесты: 2
15.02.2018, 14:27 5
314251,
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
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <thread>
#include <chrono>
 
int GetRandomNumber()
{
    std::srand(std::time(nullptr) );
    return -10 + std::rand() % 20;
}
 
template<std::size_t h, std::size_t w>
void SetArray(int (&a)[h][w] )
{
    for (auto& rH : a)
    {
        for (auto& rW : rH)
        {
            rW = GetRandomNumber();
            std::this_thread::sleep_for(std::chrono::seconds(1) );
        }
    }
}
 
int main(int argc, char* argv[] )
{
    const std::size_t h = 3;
    const std::size_t w = 2;
 
    int a[h][w] {};
 
    SetArray(a);
 
    int resultEven = 0;
    int resultNotEven = 1;
 
    for (std::size_t i = 0; i < h; ++i)
    {
        for (std::size_t j = 0; j < w; ++j)
        {
            if (a[i][j] % 2) resultNotEven *= a[i][j];
            else resultEven += a[i][j];
        }
    }
 
    return 0;
}
0
1Вирт1
168 / 192 / 48
Регистрация: 25.08.2011
Сообщений: 793
Завершенные тесты: 5
15.02.2018, 14:53 6
Gaveyn, Атец! Я и сам вижу что дабл вопрос зачем он там дабл? для задачи можно вполне обойтись интом
0
Gaveyn
95 / 94 / 11
Регистрация: 12.09.2016
Сообщений: 168
15.02.2018, 23:09 7
1Вирт1, Вопрос к автору темы.Какие ко мне претензии?
0
15.02.2018, 23:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2018, 23:09

Найти сумму нечетных элементов 3 столбца и произведение отрицательных кратных 3 элементов 2-ой строки матрицы
Найти сумму нечетных элементов 3-го столбца и произведение отрицательных...

Дана матрица А (4,4) найти сумму нечетных элементов матрицы и произведение элементов находящихся на главной диагонали
Дана матрица А (4,4) найти сумму нечетных элементов матрицы и произведение...

Найти сумму элементов четных строк и произведение элементов нечетных строк массива
дан двумерный массив динамический массив. Найти сумму элементов четных строк...


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

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

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