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

Построить матрицу B, элементы bij которой равны сумме указанных элементов данной матрицы

24.02.2020, 13:07. Показов 1169. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Помогите пожалуйста!
Дана квадратная матрица А n-го порядка. Построить матрицу B, элемент bij которой равен сумме элементов данной матрицы, расположенных в области, определяемой индексами i, j так, как показано на рисунке (область заштрихо-вана).
Миниатюры
Построить матрицу B, элементы bij которой равны сумме указанных элементов данной матрицы  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.02.2020, 13:07
Ответы с готовыми решениями:

Построить матрицу элемент bij которой равен сумме элементов данной матрицы, расположенных в заштрихованной области
Дана действительная матрица . i,j=1,...,n. Получить действительную матрицу i,j=1,...,n, элемент...

Построить матрицу B, элемент bij которой равен сумме элементов данной матрицы
Дана квадратная матрица А n-го порядка. Построить матрицу B, элемент bij которой равен сумме...

Получить новую матрицу {b ij} n, n, элемент bij которой равен сумме элементов данной матрицы
Данная Действительная квадратная матрица {a ij} n, n. Получить новую матрицу {b ij} n, n, элемент...

Построить матрицу у которой у которой добавлен столбец, элементы которого равны сумме элементов соответствующей строки
Помогите 1)Построить матрицу у которой у которой добавлен столбец,элементы которого равны сумме...

4
Эксперт CЭксперт С++
5112 / 4551 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
24.02.2020, 15:09 2
Alfiia, можно, например, так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int** CalcB(int** A, int N)
{
    int** B = new int*[N];
    for (int i = 0; i < N; i++)
        B[i] = new int[N];
    for (int i1 = 0; i1 < N; i1++)
    {
        for (int j1 = 0; j1 < N; j1++)
        {
            B[i1][j1] = 0;
            for (int i2 = 0; i2 < N; i2++)
            {
                for (int j2 = 0; j2 < N; j2++)
                {
                    if ((i2 != i1) && (j2 != j1))
                        B[i1][j1] += A[i2][j2];
                }
            }
        }
    }
    return B;
}
1
1 / 1 / 0
Регистрация: 19.02.2020
Сообщений: 14
25.02.2020, 14:39  [ТС] 3
Не работает код, где-то ошибка.
0
Эксперт CЭксперт С++
5112 / 4551 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
25.02.2020, 19:32 4
Alfiia, а Вы как его запускаете? Как есть? Это же только функция!
Сама по себе она работать не будет...
Полностью оформить не пробовали? Чтобы инклюды были, main()?
Задать в main() матрицу, вызвать функцию?

Добавлено через 9 минут
Держите уже:
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
#include <iostream>
#include <iomanip>
using namespace std;
 
int** CalcB(int** A, int N)
{
    int** B = new int*[N];
    for (int i = 0; i < N; i++)
        B[i] = new int[N];
    for (int i1 = 0; i1 < N; i1++)
    {
        for (int j1 = 0; j1 < N; j1++)
        {
            B[i1][j1] = 0;
            for (int i2 = 0; i2 < N; i2++)
            {
                for (int j2 = 0; j2 < N; j2++)
                {
                    if ((i2 != i1) && (j2 != j1))
                        B[i1][j1] += A[i2][j2];
                }
            }
        }
    }
    return B;
}
 
void print(int**A, int N)
{
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < N; j++)
            cout << setw(4) << A[i][j];
        cout << endl;
    }
    cout << endl;
}
 
void del(int**A, int N)
{
    for (int i = 0; i < N; i++)
        delete[] A[i];
    delete[] A;
}
 
int main()
{
    const int   N = 4;
 
    int**       A = new int*[N];
 
    for (int i = 0; i < N; i++)
    {
        A[i] = new int[N];
        for (int j = 0; j < N; j++)
            A[i][j] = i * N + j + 1;
    }
    print(A, N);
    
    int** B = CalcB(A, N);
    print(B, N);
 
    del(A, N);
    del(B, N);
 
    system("pause");
}
0
1 / 1 / 0
Регистрация: 19.02.2020
Сообщений: 14
25.02.2020, 20:33  [ТС] 5
Спасибо большое! Только я упустила тот момент что все заданные массивы должны быть статическими и генерироваться автоматически. Отдельно должны быть описаны функции заполнения и печати массивов через указатели.
0
25.02.2020, 20:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.02.2020, 20:33
Помогаю со студенческими работами здесь

Найти матрицу, элементы которой равны сумме элементов исходных матриц, после чего произвести транспонирование полученной матрицы
Доброго времени суток! Очень прошу помочь в решении задач) 2)Даны две прямоугольные матрицы...

Найти матрицу С(3,4), элементы которой равны сумме соответствующих элементов матриц А и В.
Даны две прямоугольные матрицы А(3,4) и В(3,4). Найти матрицу С(3,4), элементы которой равны сумме...

Получить матрицу, элементы каждой следующей строки которой равны сумме соответствующих элементов двух предыдущих строк
14. Получить действительную матрицу А порядка 5, первый и второй строки которой задаются...

Получить квадратную матрицу, элемент которой равен сумме элементов данной матрицы, расположенных в области
Дана квадратная марица действительных числе размерности n(n&lt;=15). Получить квадратную матрицу,...


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

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

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