madzik4113

sztangret wielokat

Jan 31st, 2014
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.39 KB | None | 0 0
  1. /*Utwórz
  2. strukturę punkt zawierającą dwie współrzędne. Utwórz strukturę wielokąt w skład której
  3. wchodzi:
  4. liczba całkowita (liczba wierzchołków), wskaźnik do struktury punkt (współrzędne wierzchołków).
  5. Napisz
  6. dwie funkcje: wprowadź (zwracająca obiekt typu wielokąt)
  7. oraz obwód (zwraca obwód wielokąta). W
  8. funkcji
  9. main zdefiniuj obiekt wielokąt i wywołaj napisane funkcję.*
  10.  
  11. #include "stdafx.h"
  12. #include <cmath>
  13. #include <cstdlib>
  14. #include <cstdio>
  15. #include <iostream>
  16. using namespace std;
  17.  
  18. struct punkt
  19. {
  20. double x,y;
  21. };
  22. struct wielokat
  23. {
  24. int n;
  25. punkt *wsk;
  26. };
  27. wielokat wprowadz()
  28. {
  29. wielokat F;
  30. cout<<"podaj licze wierzcholkow wielokata : ";
  31. cin>>F.n;
  32.  
  33. F.wsk=new punkt [F.n];
  34. for(int i=0;i<F.n;i++)
  35. {
  36. cout<<"podaj wspolrzedna x : ";
  37. cin>>F.wsk[i].x;
  38. cout<<"podaj wspolrzedna y : ";
  39. cin>>F.wsk[i].y;
  40. }
  41. return F;
  42. }
  43. double obwod(wielokat jakis)
  44. {
  45. double suma=0;
  46. suma+=sqrt(pow(jakis.wsk[jakis.n-1].x-jakis.wsk[0].x,2.0)+pow(jakis.wsk[jakis.n-1].y-jakis.wsk[0].y,2.0));
  47. for(int i=0;i<jakis.n-1;i++)
  48. {
  49. suma+=sqrt(pow(jakis.wsk[i+1].x-jakis.wsk[i].x,2.0)+pow(jakis.wsk[i+1].y-jakis.wsk[i].y,2.0));
  50. }
  51. return suma;
  52. }
  53.  
  54.  
  55. int _tmain(int argc, _TCHAR* argv[])
  56. {
  57. wielokat jeden;
  58. jeden=wprowadz();
  59. double sumuj;
  60. sumuj=obwod(jeden);
  61. cout<<"Obwod tego wielokata wynosi = "<<sumuj<<endl;
  62. system("PAUSE");
  63. return 0;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment