fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. struct Punct {
  5. int x, y;
  6. };
  7.  
  8. struct Dreptunghi {
  9. Punct stangaJos;
  10. Punct dreaptaSus;
  11. };
  12.  
  13. void actualizareDreptunghi(Dreptunghi &dreptunghi, int x1, int y1, int x2, int y2) {
  14. dreptunghi.stangaJos.x = x1;
  15. dreptunghi.stangaJos.y = y1;
  16. dreptunghi.dreaptaSus.x = x2;
  17. dreptunghi.dreaptaSus.y = y2;
  18. }
  19.  
  20. int main() {
  21. Dreptunghi dreptunghi;
  22. actualizareDreptunghi(dreptunghi, 10, 20, 30, 40);
  23. cout << "Stanga jos: (" << dreptunghi.stangaJos.x << ", " << dreptunghi.stangaJos.y << ")\n";
  24. cout << "Dreapta sus: (" << dreptunghi.dreaptaSus.x << ", " << dreptunghi.dreaptaSus.y << ")\n";
  25.  
  26. return 0;
  27. }
  28. /*Acesta definește o structură Punct pentru a reprezenta un punct în planul cartezian, o structură Dreptunghi pentru a reprezenta un dreptunghi, și o funcție actualizareDreptunghi pentru a actualiza coordonatele unui dreptunghi.
  29.  
  30. Analiza codului:
  31.  
  32. Structura Punct:
  33.  
  34. Această structură are doi membri întregi: x și y, care reprezintă coordonatele unui punct.
  35. Structura Dreptunghi:
  36.  
  37. Această structură are doi membri de tip Punct: stangaJos și dreaptaSus, care reprezintă colțurile din stânga jos și din dreapta sus ale dreptunghiului.
  38. Funcția actualizareDreptunghi:
  39.  
  40. Primește un Dreptunghi prin referință (&dreptunghi) pentru a-l modifica direct.
  41. Primește patru parametri întregi: x1, y1, x2, y2, care reprezintă coordonatele colțurilor dreptunghiului.
  42. Actualizează membrii stangaJos și dreaptaSus ale dreptunghiului cu valorile primite.
  43. Funcția main:
  44.  
  45. Creează o variabilă dreptunghi de tip Dreptunghi.
  46. Apelează funcția actualizareDreptunghi pentru a seta coordonatele dreptunghiului la (10, 20) pentru colțul din stânga jos și (30, 40) pentru colțul din dreapta sus.
  47. Afișează coordonatele colțurilor dreptunghiului.
  48. Exemplu de execuție:
  49.  
  50. Când rulezi acest cod, acesta va afișa următoarele:
  51.  
  52. Stanga jos: (10, 20)
  53. Dreapta sus: (30, 40)*/
Success #stdin #stdout 0.01s 5284KB
stdin
Standard input is empty
stdout
Stanga jos: (10, 20)
Dreapta sus: (30, 40)