#594 · Subiectul II · Programare
Dreptunghiul de arie maximă determinat de două puncte (struct punct: distanta și arie)
✓ Rezolvare explicatăBucurești 2020 · nr. 22
Enunț
Fișierul atestat.in conține pe prima linie un număr natural n (2≤n<100), iar pe următoarele n linii câte două numere reale, coordonatele carteziene ale unui punct din plan. Un punct se memorează cu structura:
struct punct { float x, y; };
Se consideră subprogramele:
distanta, cu doi parametri de tippunct: returnează distanța dintre cele două puncte;arie, cu doi parametri de tippunct, vârfuri opuse ale unui dreptunghi cu laturile paralele cu axeleOxșiOy: returnează aria dreptunghiului.
a. Scrieți definiția completă a subprogramului distanta.
b. Scrieți definiția completă a subprogramului arie.
c. Scrieți un program care citește datele din atestat.in (cel puțin două puncte determină un segment neparalel cu axele) și, prin apeluri ale subprogramelor distanta și arie, calculează aria maximă a unui dreptunghi cu laturile paralele cu axele care are o diagonală determinată de două dintre puncte. Pe ecran se afișează aria maximă și numerele de ordine ale punctelor care determină diagonala.
Exemple
atestat.in |
Ecran | Explicații |
|---|---|---|
41 12 33 34 2 |
4 1 3 |
Diagonala (1,1)–(3,3) dă dreptunghiul cu laturile 2 și 2, aria 4 |
Rezolvare
Exersează mai departe