#include <iostream>
#include <iomanip>
#include <ctime>
using namespace std;
//////////////////////////////////////////////// Задание №2 вариант 947 ///////////////////////////////////////////////////////////
//Нахождение максимального значения начиная с первого эл-та массива
int maxFromStart(int arr[],int n){
int max = arr[0];
for(int i = 0 ; i < n; i++){
if(arr[i] > max){
max = arr[i];
}
}
return max;
}
//Нахождение максимального значения начиная с последнего эл-та массива
int maxFromEnd(int arr[],int n){
int max = arr[0];
for(int i = n - 1 ; i >= 0; i--){
if(arr[i] > max){
max = arr[i];
}
}
return max;
}
//Нахождение минимального значения начиная с последнего эл-та массива
int minFromEnd(int arr[],int n){
int min = arr[0];
for(int i = n - 1 ; i >= 0; i--){
if(arr[i] < min){
min = arr[i];
}
}
return min;
}
//Нахождение минимального значения начиная с первого эл-та массива
int minFromStart(int arr[],int n){
int min = arr[0];
for(int i = 0 ; i < n; i++){
if(arr[i] < min){
min = arr[i];
}
}
return min;
}
int main() {
srand ( time(NULL) );
const int n = 5;
int arr[n][n];
int mainD[n];
int sideD[n];
cout << "Элементы массива: " << endl;
//Заполнение массива случайными числами
for(int i = 0; i < n;i++){
for(int j = 0; j < n;j++){
arr[i][j] = rand() % 100;
cout << setw(4) <<arr[i][j];
}
cout << endl;
}
//Нахождение эл-ов главной диагонали и запись их в массив
cout << endl << "Элементы главной диагонали " << endl;
for(int i = 0; i < n;i++){
for(int j = 0; j < n;j++){
if(i == j){
mainD[j] = arr[i][j];
cout << mainD[j] << " ";
}
}
}
cout << endl <<"Элементы побочной диагонали " << endl;
//Нахождение эл-ов побочной диагонали и запись их в массив
for(int i = 0; i < n;i++){
for(int j = 0; j < n;j++){
if(i + j == n - 1){
sideD[j] = arr[i][j];
cout << sideD[j] << " ";
}
}
}
cout << endl << endl;
for(int i = 0; i < n;i++){
for(int j = 0; j < n;j++){
if(i == j){
if(arr[i][j] == maxFromStart(mainD,n)){
cout << "Координаты максимального значения на главной диагонали " << maxFromStart(mainD,n) << " = (" << i + 1 << "," << j + 1 << ")" << endl;
}
if(arr[i][j] == minFromEnd(mainD,n)){
cout << "Координаты минимального значения на главной диагонали " << minFromEnd(mainD,n) << " = (" << i + 1 << "," << j + 1 << ")" << endl;
}
}
if(i + j == n - 1){
if(arr[i][j] == maxFromEnd(sideD,n)){
cout << "Координаты максимального значения на побочной диагонали " << maxFromEnd(sideD,n) << " = (" << i + 1 << "," << j + 1 << ")" << endl;
}
if(arr[i][j] == minFromStart(sideD,n)){
cout << "Координаты минимального значения на побочной диагонали " << minFromStart(sideD,n) << " = (" << i + 1 << "," << j + 1 << ")" << endl;
}
}
}
}
return 0;
}