C/C++

C++ добавить динамический массив в код Чтоб он работал

#include <iostream>

using namespace std;

int main ()

{

int sum = 0;

int num = 0;

const int N = 3, M = 3;

int matrix[N][M] = { { 1, -2, 3},

{ 4, 5, 6},

{ 7, 8, 9} };

for (int x = 0; x < N; x++)

{

for (int y = 0; y < M; y++)

{

cout << matrix[x][y] << " ";

}

cout << "\n";

}


for (int x = 0; x < N; x++)

{

for (int y = 0; y < M; y++)

{

if (x + 1 < y + 1)

{

if (matrix[x][y] > 0)

{

sum += matrix[x][y];

num++;

}

}

}

}

cout << "Число положительных элементов матрицы "

"выше диагонали равно: " << num << endl;

cout << "Сумма этих чисел равна: " << sum << endl;


return 0;

}

ЗАРАНЕЕ СПАСИБО!
Лучше как-нибудь так (с двумерным динамическим массивом, размер которого n×m вводится с экрана, а потом и все его элементы):
 #include  
#include

using namespace std;

int main()
{
int sum = 0, num = 0, n, x, y;
cout > n;
int **Matrix = new int *[n];
for (x = 0; x < n; x++)
{
Matrix[x]= new int [n];
for (y = 0; y < n; y++) cin >> Matrix[x][y];
}
cout
Samat Iliasov
Samat Iliasov
66 572
Лучший ответ
Максим Нестеров Почему так много слов ?
Ну вот тебе через функцию
 #include  
#include
using namespace std;

void func(vector&matrix){
int sum = 0;
int num = 0;
for(int i=0;i
Vitali Lisyn
Vitali Lisyn
3 432
#include
using namespace std;
int main () {
int sum = 0;
int num = 0;
const int N = 3, M = 3;
int *matrix = new int[N]; // выделение памяти под строки
for (int i = 0; i < N; i++) {
matrix[i] = new int[M]; // выделение памяти под столбцы
for (int j = 0; j < M; j++) {
matrix[i][j] = rand() % 10; // заполнение матрицы
cout << matrix[i][j] << " "; // вывод матрицы
}
cout << endl; // переход на новую строку
}
for (int x = 0; x < N; x++) {
for (int y = 0; y < M; y++) {
if (x + 1 < y + 1) {
if (matrix[x][y] > 0) {
sum += matrix[x][y];
num++;
}
}
}
}
cout << "Число положительных элементов матрицы "
"выше диагонали равно: " << num << endl;
cout << "Сумма этих чисел равна: " << sum << endl;
for (int i = 0; i < N; i++) {
delete[] matrix[i]; // освобождение памяти столбцов
}
delete[] matrix; // освобождение памяти строк
return 0;
}