• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Двумерные массивы. C++

  • Автор темы Автор темы ILIYXA
  • Дата начала Дата начала

ILIYXA

Ученик
Регистрация
9 Дек 2014
Сообщения
1
Реакции
0
Баллы
0
Двумерные массивы. C++

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

Написал код массива и смог увеличить на m1 n+1, прошу помогите закончить 2 часть задания.

#include <iostream>
#include <iomanip>

//----------------

int** new2DArray( int m, int n)
{
int** arr = new int*[m];
for (int i = 0; i < m; ++i)
arr = new int[n];
return arr;
}

//---------------
void delete2DArray(int** arr, const int m)
{
for (int i = 0; i < m; ++i)
delete[] arr;
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] = matrix[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[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[j] = j;

// выводим
std::cout << "Matrix\n";
print2DArray(mtrx, m, n);


// освобождаем выделенную память
delete2DArray(mtrx, m);


system("pause"); // (1)
return 0;
}
 
Назад
Сверху