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

Дополнить двумерный массив столбцом и строкой, поместив в которые суммы соответствующих элементов

10.12.2014, 19:39. Показов 2459. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Суть задания:
Массив размерностью MxN. Необходимо дополнить его (M+1)-й строкой и (N+1)-м столбцом, в которых записать суммы элементов соответствующих строк и столбцов. В элементе aM+1,N+1 должна храниться сумма всех элементов массива.

Написал код массива и смогу увеличить на m1 n+1, прошу помогите закончить 2 часть задания.
C++ (Qt)
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
73
74
75
76
77
#include <iostream>
#include <iomanip>
 
//----------------
 
int** new2DArray( int m,  int n)
{
    int** arr = new int*[m];
    for (int i = 0; i < m; ++i)
        arr[i] = new int[n];
    return arr;
}
 
//---------------
void delete2DArray(int** arr, const int m)
{
    for (int i = 0; i < m; ++i)
        delete[] arr[i];
    delete[] arr;
}
 
//--------------- 
 
int** newTransposeMatrix(int** matrix, const int m, const int n)
{
    int** res = new2DArray(n, m);
 
    for (int i = 0; i < m; ++i)
    for (int j = 0; j < n; ++j)
        res[j][i] = matrix[i][j];
 
    return res;
}
 
//----------------
void print2DArray(int** arr, const int m, const int n)
{
    for (int i = 0; i < m; ++i)
    {
        for (int j = 0; j < n; ++j)
            std::cout << std::setw(4) << arr[i][j];
        std::cout << '\n';
    }
}
//---------------
 
int main()
{
    // вводим размеры матрицы
    std::cout << "Input m: ";
    int m;
    std::cin >> m;
 
    std::cout << "Input n: ";
    int n;
    std::cin >> n;
 
    // создаём новую матрицу MxN
    int** mtrx = new2DArray(m = m+1, n = n+1);
 
    // заполняем 
    for (int i = 0; i < m; ++i)
    for (int j = 0; j < n; ++j)
        mtrx[i][j] = j;
 
    // выводим
    std::cout << "Matrix\n";
    print2DArray(mtrx, m, n);
 
 
    // освобождаем выделенную память
    delete2DArray(mtrx, m);
 
 
    system("pause");  // (1)
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.12.2014, 19:39
Ответы с готовыми решениями:

Сформировать массив, поместив в него значения индексов тех элементов первого массива, которые являются простыми числами
Доброго времени суток. Мне дали задание:&quot;Дан целочисленный массив A. Сформировать массив B,...

Дополнить двумерный массив столбцом и строкой, поместив в них суммы соответствующих элементов
Суть задания: Массив размерностью MxN. Необходимо дополнить его (M+1)-й строкой и (N+1)-м...

Дополнить двумерный массив строкой и столбцом, в которые записать суммы элементов
Задан двумерный массив размерности m n. Дополнить его строкой и столбцом, в которых записать суммы...

Дополнить матрицу строкой и столбцом, в которые записать суммы элементов строк и столбцов
Задан двухмерный массив A размерности n*m. Дополнить его (n+1)-й строкой и (m+1)-м столбцом, в...

1
Эксперт PHP
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
10.12.2014, 20:05 2
Лучший ответ Сообщение было отмечено ILIYXA как решение

Решение

ILIYXA,
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#include <iostream>
#include <iomanip>
#include <cstdlib>
 
//----------------
int** new2DArray( int m,  int n)
{
    int** arr = new int*[m];
    for (int i = 0; i < m; ++i)
        arr[i] = new int[n];
    return arr;
}
 
//---------------
void delete2DArray(int** arr, const int m)
{
    for (int i = 0; i < m; ++i)
        delete[] arr[i];
    delete[] arr;
}
 
//---------------
void print2DArray(int** arr,  int m ,  int n)
{
    for (int i = 0; i < m; ++i)
    {
        for (int j = 0; j < n; ++j)
            std::cout << std::setw(4) << arr[i][j];
        std::cout << '\n';
    }
}
 
//---------------
int sumRow(int **arr, int row, int cols)
{
    int sum = 0;
    for (int j = 0; j < cols; ++j)
        sum += arr[row][j];
    return sum;
}
 
//--------------
int sumCol(int **arr, int col, int rows)
{
    int sum = 0;
    for (int i = 0; i < rows; ++i)
        sum += arr[i][col];
    return sum;
}
 
int main()
{
    // вводим размеры матрицы
    std::cout << "Input m: ";
    int m;
    std::cin >> m;
 
    std::cout << "Input n: ";
    int n;
    std::cin >> n;
 
    // создаём новую матрицу MxN
    int** mtrx = new2DArray(m+1, n+1);
 
    // заполняем 
    for (int i = 0; i < m; ++i)
    for (int j = 0; j < n; ++j)
        mtrx[i][j] = j;
 
    // выводим
    std::cout << "Matrix\n";
    print2DArray(mtrx, m, n);
    
    int rowsSum = 0;
    for (int i = 0; i < m; ++i)
    {
        mtrx[i][n] = sumRow(mtrx, i, n);
        rowsSum += mtrx[i][n];
    }
    
    int colsSum = 0;
    for (int j = 0; j < n; ++j)
    {   
        mtrx[m][j] = sumCol(mtrx, j, m);
        colsSum += mtrx[m][j];
    }
    
    mtrx[m][n] = rowsSum + colsSum;
     // выводим
    std::cout << "Matrix\n";
    print2DArray(mtrx, m+1, n+1);
    
    // освобождаем выделенную память
    delete2DArray(mtrx, m);
 
 
    system("pause");  // (1)
    return 0;
}
1
10.12.2014, 20:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.12.2014, 20:05
Помогаю со студенческими работами здесь

Дан двумерный массив. Дополнить его n+1 строкой и m+1 столбцом,в котором находятся сумма элементов каждой строки и столбца
здравствуйте. помогите решить задачу. Дан двумерный массив вещественных чисел размерностью N*M....

Задан двумерный массив А размерности m x n. Дополнить его (m+1) –й строкой и (n+1) – м столбцом
Помогите написать програмку на паскаль ! Задан двумерный массив А размерности m x n. Дополнить его...

Двумерные массивы. Дополнить массив n+1 строкой и m+1 столбцом,в котором находятся сумма элементов каждой строки и столбца соответственно
здравствуйте форумчане. помогите решить задачу. Дан двумерный массив вещественных чисел...

Дополнить матрицу строкой и столбцом с суммами элементов каждой строки и столбца соответственно
помогите найти ошибку. пишет ; expected. но я уже не понимаю где мог пропустить этот знак.вот...


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

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

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