Guest User

Untitled

a guest
Jul 15th, 2018
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.47 KB | None | 0 0
  1. /*---------------------------------------------------------------------------
  2. Program: CalcPol
  3. Content: Calculates the extent of a polygon
  4. Author: Jürgen Plakolb - S0810307029@students.fh-hagenberg.at
  5. Date : 17.10.2009
  6. ---------------------------------------------------------------------------*/
  7.  
  8. #include <stdio.h>
  9. #include <stdlib.h>
  10. #include <math.h>
  11.  
  12. int main(int argc, char *argv[])
  13. {
  14. int i;
  15. double dx, dy;
  16. double extent, distance;
  17. if(argc <= 5) {
  18. printf("Error in %s: wrong amount of arguments!\n", argv[0]);
  19. printf("3 Points are necessary! \n");
  20. exit(-1);
  21. }
  22. else if (argc % 2 == 0) {
  23. printf("Error in %s: wrong amount of arguments!\n", argv[0]);
  24. printf("for each point two coordinates are necessary! \n");
  25. printf("%d Elemente", argc);
  26. exit(-1);
  27. }
  28. else {
  29. for (i = 1; i <= (argc - 2); i += 2) {
  30. printf("P%d (%s | %s)\n", (i / 2), argv[i], argv[i+1]);
  31. }
  32. /*Calculation of extent*/
  33. extent = 0.0;
  34. for (i = 1; i < (argc - 3); i += 2) {
  35. dx = atoi(argv[i]) - atoi(argv[i + 2]);
  36. dy = atoi(argv[i + 1]) - atoi(argv[i + 3]);
  37. distance = sqrt(pow(dx, 2) + pow(dy, 2));
  38. extent += distance;
  39. }
  40. dx = abs(atoi(argv[1]) - atoi(argv[argc - 2]));
  41. dy = abs(atoi(argv[2]) - atoi(argv[argc - 1]));
  42. distance = sqrt(pow(dx, 2) + pow(dy, 2));
  43. extent += distance;
  44. printf("\nUmfang= %.2f \n", extent);
  45. }
  46. return 0;
  47. }
Add Comment
Please, Sign In to add comment