fork(2) download
  1. #include <iostream>
  2. #include <math.h>
  3. using namespace std;
  4.  
  5. struct Ponto{
  6. float x;
  7. float y;
  8. };
  9. void LerRetangulo(Ponto ret[], int tam) {
  10. for(int i = 0; i < tam; i++) {
  11. cout << "digite coordenadas x e y do ponto " << i + 1 << endl;
  12. cin >> ret[i].x >> ret[i].y;
  13. }
  14. }
  15.  
  16. double CalcDistancia(Ponto ret[], int tam) {
  17. double distancia = 0;
  18. for(int i = 0; i < tam; i++) {
  19. distancia += sqrt(pow(ret[i].x, 2) + pow(ret[i].y, 2));
  20. }
  21. return distancia;
  22. }
  23.  
  24. void imprimir(double distancia, Ponto ret[], int tam) {
  25. for (int i = 0; i < tam; i++) {
  26. cout << "Ponto " << i << " = " << ret[i].x << ", " << ret[i].y <<endl;
  27. }
  28. cout << "Distância = " << distancia << endl;
  29. }
  30.  
  31. int main(int argc, char *argv[]) {
  32. Ponto retangulo[4];
  33. LerRetangulo(retangulo, 4);
  34. imprimir(CalcDistancia(retangulo, 4), retangulo, 4);
  35. return 0;
  36. }
Success #stdin #stdout 0s 3236KB
stdin
1.0 1.0
1.0 2.0 
5.0 1.0
5.0 2.0
stdout
digite coordenadas x e y  do ponto 1
digite coordenadas x e y  do ponto 2
digite coordenadas x e y  do ponto 3
digite coordenadas x e y  do ponto 4
Ponto 0 = 1, 1
Ponto 1 = 1, 2
Ponto 2 = 5, 1
Ponto 3 = 5, 2
Distância = 14.1345