#include <iomanip>
#include <iostream>
#include <random>
using namespace std;
int main( ) {
random_device rd; mt19937_64 gen( rd( ) ) ;
uniform_int_distribution< long long > random( 1 , 1e9 ) ;
cout << " Enter the size of array : " << "\n " ;
int sz; cin >> sz;
long long a[ sz] [ sz] ;
for ( int i = 0 ; i < sz; i++ ) {
for ( int j = 0 ; j < sz; j++ ) {
a[ i] [ j] = random( gen) ;
cout << a[ i] [ j] << " " ;
}
cout << "\n " ;
}
long long sum = 0 ,mn = a[ 0 ] [ 0 ] ,mx = a[ 0 ] [ 0 ] ;
for ( int i = 0 ; i < sz; i++ ) {
for ( int j = 0 ; j < sz; j++ ) {
sum + = a[ i] [ j] ;
// if (mx < a[i][j]) mx = a[i][j];
// if (mn > a[i][j]) mn = a[i][j];
mn = min( mn,a[ i] [ j] ) ;
mx = max( mx,a[ i] [ j] ) ;
}
}
long double avg = ( long double ) sum / ( sz * sz) ;
long long main_diag = 0 , sec_diag = 0 ;
for ( int i = 0 ; i < sz; i++ ) {
main_diag + = a[ i] [ i] ;
sec_diag + = a[ i] [ sz - i - 1 ] ;
}
cout << "Max of array : " << mx << "\n " ;
cout << "Min of array : " << mn << "\n " ;
cout << "Average of array : " << fixed << setprecision( 10 ) << avg << "\n " ;
cout << "Sum of array : " << sum << "\n " ;
cout << "Sum of Main diagonal : " << main_diag << "\n " ;
cout << "Sum of Secondary diagonal : " << sec_diag << "\n " ;
return 0 ;
}
I2luY2x1ZGUgPGlvbWFuaXA+CiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPHJhbmRvbT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IG1haW4oKSB7CiAgICByYW5kb21fZGV2aWNlIHJkO210MTk5MzdfNjQgZ2VuKHJkKCkpOwogICAgdW5pZm9ybV9pbnRfZGlzdHJpYnV0aW9uPGxvbmcgbG9uZz4gcmFuZG9tKDEsIDFlOSk7CiAgICBjb3V0IDw8ICIgRW50ZXIgdGhlIHNpemUgb2YgYXJyYXkgOiAiIDw8ICJcbiI7CiAgICBpbnQgc3o7Y2luID4+IHN6OwogICAgbG9uZyBsb25nIGFbc3pdW3N6XTsKICAgIGZvciAoaW50IGkgPSAwO2kgPCBzejtpKyspIHsKICAgICAgICBmb3IgKGludCBqID0gMDtqIDwgc3o7aisrKSB7CiAgICAgICAgICAgIGFbaV1bal0gPSByYW5kb20oZ2VuKTsKICAgICAgICAgICAgY291dCA8PCBhW2ldW2pdIDw8ICIgIjsKICAgICAgICB9CiAgICAgICAgY291dCA8PCAiXG4iOwogICAgfQogICAgbG9uZyBsb25nIHN1bSA9IDAsbW4gPSBhWzBdWzBdLG14ID0gYVswXVswXTsKICAgIGZvciAoaW50IGkgPSAwO2kgPCBzejtpKyspIHsKICAgICAgICBmb3IgKGludCBqID0gMDtqIDwgc3o7aisrKSB7CiAgICAgICAgICAgIHN1bSArPSBhW2ldW2pdOwogICAgICAgICAgICAvLyBpZiAobXggPCBhW2ldW2pdKSBteCA9IGFbaV1bal07CiAgICAgICAgICAgIC8vIGlmIChtbiA+IGFbaV1bal0pIG1uID0gYVtpXVtqXTsKICAgICAgICAgICAgbW4gPSBtaW4obW4sYVtpXVtqXSk7CiAgICAgICAgICAgIG14ID0gbWF4KG14LGFbaV1bal0pOwogICAgICAgIH0KICAgIH0KICAgIGxvbmcgZG91YmxlIGF2ZyA9IChsb25nIGRvdWJsZSkgc3VtIC8gKHN6ICogc3opOwogICAgbG9uZyBsb25nIG1haW5fZGlhZyA9IDAsIHNlY19kaWFnID0gMDsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgc3o7IGkrKykgewogICAgICAgIG1haW5fZGlhZyArPSBhW2ldW2ldOwogICAgICAgIHNlY19kaWFnICs9IGFbaV1bc3ogLSBpIC0gMV07CiAgICB9CiAgICBjb3V0IDw8ICJNYXggb2YgYXJyYXkgOiAiIDw8IG14IDw8ICJcbiI7CiAgICBjb3V0IDw8ICJNaW4gb2YgYXJyYXkgOiAiIDw8IG1uIDw8ICJcbiI7CiAgICBjb3V0IDw8ICJBdmVyYWdlIG9mIGFycmF5IDogIiA8PCBmaXhlZCA8PCBzZXRwcmVjaXNpb24oMTApIDw8IGF2ZyA8PCAiXG4iOwogICAgY291dCA8PCAiU3VtIG9mIGFycmF5IDogIiA8PCBzdW0gPDwgIlxuIjsKICAgIGNvdXQgPDwgIlN1bSBvZiBNYWluIGRpYWdvbmFsIDogIiA8PCBtYWluX2RpYWcgPDwgIlxuIjsKICAgIGNvdXQgPDwgIlN1bSBvZiBTZWNvbmRhcnkgZGlhZ29uYWwgOiAiIDw8IHNlY19kaWFnIDw8ICJcbiI7CiAgICByZXR1cm4gMDsKfQ==