0 / 0 / 0
Регистрация: 28.05.2015
Сообщений: 14
1

Задана матрица размером NxM. Определить количество "особых" элементов матрицы

02.11.2015, 16:53. Показов 5415. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите написать программу.
Задана матрица размером NxM. Определить количество "особых" элементов матрицы, считая элемент "особым", если он больше суммы остальных элементов своего столбца.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.11.2015, 16:53
Ответы с готовыми решениями:

Массив: Определить количество "особых" элементов матрицы.
Дана матрица A. Определить количество "особых" элементов матрицы, считая элемент "особым", если в...

Задана символьная матрица размером NxM.Определить кол-во различных элементов(Повторяющиеся считать только 1 раз).
Помогите пожалуйста . Не могу создать динамческий символьный массив. Остальную часть вроде уже...

Определить количество "особых" элементов матрицы
Здравствуйте, господа! Тут такая тема, дана матрица a, нужно определить кол-во 'особых' элементов...

Определить количество "особых" элементов матрицы
Народ помогите! Половину алгоритма вроде написал, а дальше не могу:wall: Как в столбце найти...

3
Модератор
Эксперт CЭксперт С++
5150 / 2330 / 339
Регистрация: 20.02.2013
Сообщений: 5,720
Записей в блоге: 20
02.11.2015, 17:37 2
mira_mira, Вы сразу говорите, что можно использовать, а что нет. А то ща начнётся "ой, а мы это не учили".
0
0 / 0 / 0
Регистрация: 28.05.2015
Сообщений: 14
02.11.2015, 18:07  [ТС] 3
gru74ik, Без разницы, лишь бы программа была
0
Модератор
Эксперт CЭксперт С++
5150 / 2330 / 339
Регистрация: 20.02.2013
Сообщений: 5,720
Записей в блоге: 20
02.11.2015, 19:44 4
Цитата Сообщение от mira_mira Посмотреть сообщение
Без разницы, лишь бы программа была
Вы сами это сказали, заметьте, я Вас за язык не тянул:

Matrix.h
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
// requirements: compiler that supports C++11
 
#ifndef MATRIX_H
#define MATRIX_H
 
#include <iostream>
#include <vector>
 
typedef double Item;
 
class Matrix
{
private:
    int m_row;
    int m_col;
    Item ** matrix;
 
public:
    Matrix(int row, int col);
    ~Matrix();
 
    void fill_rand(Item fromNum, Item toNum);
    Item find_sum_of_col(const int col_index);
    Item & at(const int row_index, const int col_index);
    bool is_special(const Item & value, const int col_index);
 
    friend std::ostream & operator<<(std::ostream & os, const Matrix & m);
};
 
#endif // MATRIX_H


Matrix.cpp
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
#include "Matrix.h"
#include <random>
#include <ctime>
#include <iomanip>
 
Matrix::Matrix(int row, int col)
{
    m_row = row;
    m_col = col;
 
    matrix = new Item * [m_row];
    for (int i = 0; i < m_row; ++i)
        matrix[i] = new Item[m_col];
}
 
Matrix::~Matrix()
{
    for (int i = 0; i < m_row; ++i)
        delete [] matrix[i];
    delete [] matrix;
}
 
void Matrix::fill_rand(Item fromNum, Item toNum)
{
    std::mt19937 gen(time(0));
    std::uniform_real_distribution<double> urd(fromNum, toNum);
    for (int i = 0; i < m_row; ++i)
        for (int j = 0; j < m_col; ++j)
            matrix[i][j] = urd(gen);
}
 
Item Matrix::find_sum_of_col(const int col_index)
{
    Item sum = 0;
    for (int i = 0; i < m_row; ++i)
        sum += matrix[i][col_index];
    return sum;
}
 
Item & Matrix::at(const int row_index, const int col_index)
{
    return matrix[row_index][col_index];
}
 
bool Matrix::is_special(const Item & value, const int col_index)
{
    return value > find_sum_of_col(col_index) - value;
}
 
std::ostream & operator<<(std::ostream & os, const Matrix & m)
{
    for (int i = 0; i < m.m_row; ++i)
    {
        for (int j = 0; j < m.m_col; ++j)
            os << std::setprecision(3) << m.matrix[i][j] << "\t";
        os << "\n";
    }
 
    return os;
}


main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include "Matrix.h"
 
int main()
{
    const int rsize1 = 3;
    const int csize1 = 4;
    Matrix matrix(rsize1, csize1);
    matrix.fill_rand(0.11, 9.99);
 
    std::cout << "\nThis is the matrix:\n" << matrix;
 
    int special_element = 0;
    for (int i = 0; i < rsize1; ++i)
        for (int j = 0; j < csize1; ++j)
            if (matrix.is_special(matrix.at(i, j), j))
                special_element++;
 
    std::cout << "\nTotal amount of special elements is: " << special_element;
 
    return 0;
}
Миниатюры
Задана матрица размером NxM. Определить количество "особых" элементов матрицы  
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.11.2015, 19:44
Помогаю со студенческими работами здесь

Задана матрица размером NxM. Найти k - количество
Задана матрица размером NxM.Найти k - количество особых элементов матрицы,считая элемент...

Задана матрица размером NxM. Найти сумму всех элементов, расположенных выше строки с максимальным элементом
Задана матрица размером NxM. Найти сумму всех элементов, расположенных выше строки с максимальным...

Задана матрица размером nxm. Определить количество "особых" элементов матрицы
Паскаль.Задана матрица размером nxm. Определить количество &quot;особых&quot; элементов матрицы, считая...

Задана матрица размером NxM. Определить k - количество "oco6ых" элементов матрицы, считая элемент "особым", если он больше суммы остальных элементов с
Задана матрица размером NxM. Определить k - количество &quot;oco6ых&quot; элементов матрицы, считая элемент...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru