Дана целочисленная квадратная матрица размера N×N. Вычислить сумму
элементов расположенных выше главной диагонали и ниже побочной
диагонали. Найденное значение вывести на экран
C/C++
C++ и программирование
#include <iostream>
#include <random>
#include <span>
using namespace std;
void show(span<int> box) {
for (int x : box) cout << x << ' ';
puts("");
}
int main() {
uniform_int_distribution<> uid(1, 5);
mt19937 gen{ random_device()() };
const auto n = 3;
int matrix[n][n]{};
for (auto& row : matrix) for (auto& x : row) x = uid(gen);
for (auto& row : matrix) show(row);
puts("");
auto top = 0;
auto bottom = 0;
auto last = n - 1;
for (auto i = 0; i < n; ++i) {
for (auto j = 0; j < n; ++j) {
if (j > i) top += matrix[i][j];
if (j + i > last) bottom += matrix[i][j];
}
}
cout << "Sum top: " << top << '\n';
cout << "Sum bottom: " << bottom << '\n';
system("pause > nul");
}
#include <random>
#include <span>
using namespace std;
void show(span<int> box) {
for (int x : box) cout << x << ' ';
puts("");
}
int main() {
uniform_int_distribution<> uid(1, 5);
mt19937 gen{ random_device()() };
const auto n = 3;
int matrix[n][n]{};
for (auto& row : matrix) for (auto& x : row) x = uid(gen);
for (auto& row : matrix) show(row);
puts("");
auto top = 0;
auto bottom = 0;
auto last = n - 1;
for (auto i = 0; i < n; ++i) {
for (auto j = 0; j < n; ++j) {
if (j > i) top += matrix[i][j];
if (j + i > last) bottom += matrix[i][j];
}
}
cout << "Sum top: " << top << '\n';
cout << "Sum bottom: " << bottom << '\n';
system("pause > nul");
}
#include < iostream >
using namespace std;
int main()
{
setlocale(0, "");
srand(3);
int n;
cout << "Введите размер массива N: " << endl;
cin >> n;
int summ_up = 0, summ_dn = 0;
int** arr = new int* [n];
for (int i = 0; i < n; i++) arr[i] = new int[n]; //создание 2n динамич массива (удаления в конце не будет из за нецелесообразности)
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++) arr[i][j] = rand() % 101; //заполнение псевдорандомными числами 0..100
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++) cout << arr[i][j] << "\t"; // выведение массива для контроля
cout << endl;
}
for (int i = 0; i < n-1; i++) // вычисление суммы выше гл. диагонали
for (int j = 1; j < n; j++)
if (j > i) summ_up += arr[i][j];
for (int i = 1; i < n; i++) // вычисление суммы ниже побочной диагонали
for (int j = 1; j < n; j++)
if (j>n-i-1) summ_dn += arr[i][j];
cout << "Сумма чисел выше гл. диагонали = " << summ_up << endl;
cout << "Сумма чисел ниже побочной диагонали = " << summ_dn << endl;
}
using namespace std;
int main()
{
setlocale(0, "");
srand(3);
int n;
cout << "Введите размер массива N: " << endl;
cin >> n;
int summ_up = 0, summ_dn = 0;
int** arr = new int* [n];
for (int i = 0; i < n; i++) arr[i] = new int[n]; //создание 2n динамич массива (удаления в конце не будет из за нецелесообразности)
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++) arr[i][j] = rand() % 101; //заполнение псевдорандомными числами 0..100
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++) cout << arr[i][j] << "\t"; // выведение массива для контроля
cout << endl;
}
for (int i = 0; i < n-1; i++) // вычисление суммы выше гл. диагонали
for (int j = 1; j < n; j++)
if (j > i) summ_up += arr[i][j];
for (int i = 1; i < n; i++) // вычисление суммы ниже побочной диагонали
for (int j = 1; j < n; j++)
if (j>n-i-1) summ_dn += arr[i][j];
cout << "Сумма чисел выше гл. диагонали = " << summ_up << endl;
cout << "Сумма чисел ниже побочной диагонали = " << summ_dn << endl;
}
Похожие вопросы
- C++, языки программирования
- Как оптимизировать код, чтобы не было превышения по времени к задаче (C++, динамическое программирование)?
- Программирование на C++
- Программирование на C++
- День добрый \[-_-]/ вопрос по вузовскому программированию на си(C)
- Помоги написать лабу по программированию на c++
- Помогите решить задачу по программированию на C++
- Задача по программированию C++
- Может ли новичок в программирование начать с c++/Gamedev
- C#; C++; python изучение языков программирования
for (int x : box) cout << x << ' ';
puts("");
mt19937 gen { random_device()() } ;
что эта означает