Вычислить сумму элементов неглавной диагонали матрицы 5х5 целых чисел используя функцию
C++
Ответы
Відповідь:
C++ code:
#include <iostream>
#include <cstdlib>
#include <ctime>
template <typename T>
void randarr(T **arr,const int n,const int m){
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++){
arr[i][j] = rand() % 30 + 1;
}
}
}
template <typename T>
void printarr(T **arr,const int n,const int m){
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++){
std::cout << arr[i][j] << "\t";
}
std::cout << std::endl;
}
std::cout << std::endl;
}
template <typename T>
int diag(T **arr,const int n,const int m){
int sum = 0;
for(int i = 0,j = n - 1; i < m; i++, j--){
sum += arr[i][j];
}
return sum;
}
int main(){
srand(time(NULL));
const int n = 5, m = 5;
int **arr = new int*[n];
for(int i = 0; i < n; i++){
arr[i] = new int[m];
}
randarr(arr,n,m);
printarr(arr,n,m);
std::cout << "Sum diag = " << diag(arr,n,m) << std::endl;
for(int i = 0; i < n; i++){
delete arr[i];
}
delete arr;
return 0;
}