Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ConsoleApplication1.cpp : This file contains the 'main' function. Program execution begins and ends there.
- //
- #include "pch.h"
- #include <iostream>
- #include <iomanip>
- using namespace std;
- float sumOnMainDiagonal(float **matrix, int rowNumber, int colNumber) {
- float res = 0;
- for (int i = 0; i < rowNumber; ++i) {
- res += matrix[i][i];
- }
- return res;
- }
- float sumUnderMainDiagonal(float **matrix, int rowNumber, int colNumber) {
- float res = 0;
- for (int i = 0; i < rowNumber; ++i) {
- for (int j = i; j < colNumber; ++j) {
- res += matrix[i][j];
- }
- }
- return res;
- }
- float sumBelowMainDiagonal(float **matrix, int rowNumber, int colNumber) {
- float res = 0;
- for (int i = 0; i < rowNumber; ++i) {
- for (int j = 0; j <= i; ++j) {
- res += matrix[i][j];
- }
- }
- return res;
- }
- float sumOnAntiDiagonal(float **matrix, int rowNumber, int colNumber) {
- float res = 0;
- for (int i = 0; i < rowNumber; ++i) {
- res += matrix[i][rowNumber - i - 1];
- }
- return res;
- }
- float sumUnderAntiDiagonal(float **matrix, int rowNumber, int colNumber) {
- float res = 0;
- for (int i = 0; i < rowNumber; ++i) {
- for (int j = 0; j <= rowNumber - i - 1; ++j) {
- res += matrix[i][j];
- }
- }
- return res;
- }
- float sumBelowAntiDiagonal(float **matrix, int rowNumber, int colNumber) {
- float res = 0;
- for (int i = 0; i < rowNumber; ++i) {
- for (int j = rowNumber - i - 1; j < colNumber; ++j) {
- res += matrix[i][j];
- }
- }
- return res;
- }
- void displayMatrix(float **arr, int rowNumber, int colNumber) {
- cout << std::setprecision(2);
- cout << endl << "========================" << endl;;
- for (int i = 0; i < rowNumber; ++i) {
- for (int j = 0; j < colNumber; ++j) {
- cout << arr[i][j] << ' ';
- }
- cout << endl;
- }
- cout << "========================" << endl;
- }
- int main()
- {
- cout << "Hello World!\n";
- int N = 0;
- cout << "Enter number of rows:" << endl;
- cin >> N;
- cout << "Enter matrix:" << endl;
- float **matrix = new float*[N];
- if (!matrix)
- {
- cout << "Error! There is no memory!";
- return 1;
- }
- for (int i = 0; i < N; ++i) {
- matrix[i] = new float[N];
- if (!matrix[i])
- {
- cout << "Error! There is no memory!";
- return 1;
- }
- for (int j = 0; j < N; ++j) {
- cout << "Enter matrix[" << i << "][" << j << "]" << endl;
- cin >> matrix[i][j];
- }
- }
- displayMatrix(matrix, N, N);
- cout << endl << "Sum on main diagonal" << endl;
- cout << sumOnMainDiagonal(matrix, N, N) << endl;
- cout << endl << "Sum under main diagonal" << endl;
- cout << sumUnderMainDiagonal(matrix, N, N) << endl;
- cout << endl << "Sum below main diagonal" << endl;
- cout << sumBelowMainDiagonal(matrix, N, N) << endl;
- cout << endl << "Sum on anti diagonal" << endl;
- cout << sumOnAntiDiagonal(matrix, N, N) << endl;
- cout << endl << "Sum under anti diagonal" << endl;
- cout << sumUnderAntiDiagonal(matrix, N, N) << endl;
- cout << endl << "Sum below anti diagonal" << endl;
- cout << sumBelowAntiDiagonal(matrix, N, N) << endl;
- for (int i = 0; i < N; i++)
- {
- delete matrix[i];
- matrix[i] = NULL;
- }
- delete matrix;
- matrix = NULL;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement