#565 · Subiectul II · Programare
Punctele aflate pe cercul cu centrul în origine și raza r (struct punct, subprogramul distanta)
✓ Rezolvare explicatăBucurești 2020 · nr. 18
Enunț
Se consideră tipul de date punct, definit astfel:
struct punct
{
float x, y;
};
unde x și y reprezintă coordonatele carteziene ale unui punct. Subprogramul distanta are doi parametri, A și B, de tip punct, prin care primește coordonatele punctelor A și B în plan. Subprogramul returnează distanța dintre punctele A și B. Scrieți la calculator definiția completă a subprogramului.
a) Fișierul puncte.in conține pe prima linie numărul real nenul r și numărul natural n (2 < n < 100). Pe fiecare dintre următoarele n linii este scrisă câte o pereche de numere reale x și y, reprezentând coordonatele carteziene ale unui punct în planul xOy. Se cere scrierea și executarea la calculator a unui program care citește din fișierul puncte.in numerele r, n, apoi cele n perechi de numere reale și afișează pe ecran coordonatele punctelor aflate pe cercul cu centrul în originea sistemului de coordonate și raza r sau mesajul nu exista în cazul în care niciunul dintre puncte nu îndeplinește această condiție. Valorile se afișează pe rânduri diferite, în formatul (abscisă,ordonată). Pentru afișarea valorilor cerute se folosesc apeluri utile ale subprogramului distanta.
Exemple
Date de intrare (puncte.in) |
Date de ieșire | Explicații |
|---|---|---|
560 25 03 24 35 30 -5 |
(5,0)(4,3)(0,-5) |
Trei puncte sunt la distanța 5 de origine. De exemplu (4, 3): √(16 + 9) = 5 |
Rezolvare
Exersează mai departe