• Предмет: Информатика
  • Автор: ruzanovandrej5
  • Вопрос задан 2 года назад

Решите пожалуйста на С++

Дано: n, a[n][n]. Если на главной диагонали матрицы все элементы положительные, вычислить и вывести значение суммы элементов главной диагонали. Иначе напечатать сообщение «На главной диагонали есть отрицательные элементы».
Для решения задачи использовать динамическую память и генератор случайных чисел.​

Ответы

Ответ дал: SergeySerg2002
2

Ответ:

#include <iostream>

#include <ctime>

#include <cstdlib>

#define N 10

int main()

{

using namespace std;

setlocale(0, "ru");

srand(time(0));

int** pArr = new int* [N];

for (unsigned i = 0u; i < N; i++)

 *(pArr + i) = new int[N];

for (unsigned i = 0u; i < N; i++)

{

 for (unsigned j = 0u; j < N; j++)

  *(*(pArr + i) + j) = rand() % 50;

}

unsigned sum = 0u;

for (unsigned i = 0; i < N; i++)

{

 if (*(*(pArr + i) + i) > 0)

  sum += *(*(pArr + i) + i);

 else

 {

  cout << "На главной диагонали есть отрицательные элементы";

  goto EXIT;

 }

}

cout <<"Сумма: " << sum << endl;

EXIT:

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

 delete[] *(pArr + i);

delete[] pArr;

return 0;

}

Вас заинтересует