Cerința
Se consideră o matrice pătratică cu n linii şi n coloane şi elemente numere naturale distincte. Cele două diagonale delimitează în matrice 4 zone:
NORD– elementele situate deasupra diagonalei principale şi deasupra celei secundareEST– elementele situate deasupra diagonalei principale şi sub cea secundarăSUD– elementele situate sub diagonala principală şi sub cea secundarăVEST– elementele situate sub diagonala principală şi deasupra celei secundare
Să se determine cele 4 maxime din zonele determinate de cele două diagonale și să se calculeze cel mai mare divizor comun al lor.
Se vor defini și apela următoarele subprograme:
citire, care citește de la tastatură valoarea luinși elementele matriceicmmdc, care calculează cel mai mare divizor comun al două numeremaxime, care determină cele 4 maxime din zonele determinate de cele două diagonale și le furnizează prin parametri referință. Această funcție poate fi înlocuită cu 4 funcții, câte una pentru fiecare maxim din cele 4 zone din matrice
În programele C/C++ nu se vor folosi variabile globale.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi n*n numere naturale, separate prin spaţii, reprezentând elementele matricei, linie cu linie.
Date de ieșire
Programul afișează pe ecran cel mai mare divizor comun al celor 4 maxime din zonele determinate de cele două diagonale.
Restricții și precizări
1 ≤ n ≤ 50- elementele matricei sunt mai mici decât
100000și sunt distincte
Exemplu:
Date de intrare
5 22 10 11 16 17 4 19 1 8 20 29 12 3 5 6 36 7 9 24 15 13 23 28 14 2
Date de ieșire
4
Explicație
Valorile maxime din cele 4 zone sunt 16 (din nord), 20 (din est) 28 (din sud) și 36 (din vest) iar cel mai mare divizor comun al numerelor 16, 20, 28 și 36 este 4.