Quick actions

cmd+k|ctrl+k

Navigation

Languages

Самостоятельная работа №7 Задание 2

Snippet info

Language

Cpp

Visibility

public

Author

dimonkoko1

Created

2018-11-24T18:02:52Z

Updated

2018-11-24T18:46:58Z

#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;
}
INFO