#580 · Subiectul II · Programare
Matrice inferior triunghiulară și determinantul ei (inftr și produs recursiv)
✓ Rezolvare explicatăBucurești 2020 · nr. 8
Enunț
O matrice pătratică se numește inferior triunghiulară dacă are toate elementele aflate (strict) deasupra diagonalei principale egale cu 0. Determinantul unei astfel de matrice este egal cu produsul elementelor de pe diagonala principală.
Fișierul atestat.in conține pe prima linie un număr natural n (2≤n≤20), iar pe următoarele n linii câte n numere reale, elementele unei matrice pătratice.
Se consideră subprogramele:
inftr, cu doi parametri: un tablou bidimensionalacu elemente reale (maxim 20×20) șin(2≤n≤20), dimensiunea efectivă. Returnează1dacăaeste inferior triunghiulară, altfel0;produs(implementat recursiv), cu aceiași doi parametri: returnează produsul elementelor de pe diagonala principală.
a. Scrieți definiția completă a subprogramului inftr.
b. Scrieți definiția completă a subprogramului produs.
c. Scrieți un program care citește dimensiunea și matricea din atestat.in și, folosind apeluri utile ale subprogramelor inftr și produs, scrie pe prima linie a lui atestat.out mesajul da dacă matricea este inferior triunghiulară, altfel nu. Pe a doua linie se scrie determinantul (dacă este inferior triunghiulară) sau mesajul nedeterminat (în caz contrar).
Exemple
atestat.in |
atestat.out |
Explicații |
|---|---|---|
33 0 01 2 01 0 1 |
da6 |
Deasupra diagonalei sunt doar zerouri; determinantul este 3 · 2 · 1 = 6 |
Rezolvare
Exersează mai departe