Предмет: Информатика,
автор: ruzanovandrej5
Решите пожалуйста на С++
Дано: n, a[n][n]. Если на главной диагонали матрицы все элементы положительные, вычислить и вывести значение суммы элементов главной диагонали. Иначе напечатать сообщение «На главной диагонали есть отрицательные элементы».
Для решения задачи использовать динамическую память и генератор случайных чисел.
Ответы
Автор ответа:
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;
}
Похожие вопросы
Предмет: Русский язык,
автор: Daminik2015
Предмет: Русский язык,
автор: ulyamaltseva
Предмет: Биология,
автор: daudovau
Предмет: Математика,
автор: Ридик111
Предмет: Математика,
автор: ВерныйОтвет