Advertisement
Guest User

Untitled

a guest
Sep 30th, 2014
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.66 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace dz
  7. {
  8. class Segment
  9. {
  10. private float _x1;
  11. private float _x2;
  12.  
  13. public float X1
  14. {
  15. get { return _x1; }
  16. set
  17. {
  18. _x1 = value;
  19. }
  20. }
  21.  
  22. public float X2
  23. {
  24. get { return _x2; }
  25. set
  26. {
  27. _x2 = value;
  28. }
  29. }
  30.  
  31. public Segment()
  32. { }
  33.  
  34. public Segment(float x1, float x2)
  35. {
  36. X1 = x1;
  37. X2 = x2;
  38. }
  39.  
  40. public override string ToString()
  41. {
  42. var str = string.Format("X1: {0}, X2: {1}", X1, X2);
  43. return str;
  44. }
  45.  
  46. public Segment Intersection(Segment Otr)
  47. {
  48. var otrezok = new Segment();
  49. float[] A = new float[] { X1, X2, Otr.X1, Otr.X2 };
  50. for (int i = 0; i < A.Length; i++)
  51. {
  52. for (int j = i + 1; j < A.Length; j++)
  53. {
  54. if (A[j] < A[i])
  55. {
  56. var temp = A[i];
  57. A[i] = A[j];
  58. A[j] = temp;
  59. }
  60. }
  61. }
  62. if (A[0] == X1)
  63. {
  64. if (A[1] == X2)
  65. {
  66. return null;
  67. }
  68. if (A[1] == Otr.X1)
  69. {
  70. if (A[2] == X2)
  71. {
  72. otrezok.X1 = Otr.X1;
  73. otrezok.X2 = X2;
  74. }
  75. if (A[2] == Otr.X2)
  76. {
  77. otrezok.X1 = Otr.X1;
  78. otrezok.X2 = Otr.X2;
  79. }
  80. return otrezok;
  81. }
  82. return null;
  83. }
  84. if (A[0] == Otr.X1)
  85. {
  86. if (A[1] == Otr.X2)
  87. {
  88. return null;
  89. }
  90. if (A[1] == X1)
  91. {
  92. if (A[2] == X2)
  93. {
  94. otrezok.X1 = X1;
  95. otrezok.X2 = X2;
  96. }
  97. if (A[2] == Otr.X2)
  98. {
  99. otrezok.X1 = X1;
  100. otrezok.X2 = Otr.X2;
  101. }
  102. return otrezok;
  103. }
  104. return null;
  105. }
  106. return null;
  107. }
  108.  
  109. }
  110. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement