Advertisement
Guest User

Untitled

a guest
Apr 29th, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.16 KB | None | 0 0
  1. #include <fstream>
  2. #include <string>
  3. #include <iostream>
  4.  
  5. using namespace std;
  6.  
  7. // Taskai
  8. int taskaiX[400];
  9. int taskaiY[400];
  10. int taskuSkaicius = 0;
  11. //Atkarpos
  12. int atkarpa1X[400];
  13. int atkarpa1Y[400];
  14.  
  15. int atkarpa2X[400];
  16. int atkarpa2Y[400];
  17. int atkarpuSkaicius = 0;
  18. //Trikampiai
  19. int tri1X[400];
  20. int tri1Y[400];
  21.  
  22. int tri2X[400];
  23. int tri2Y[400];
  24.  
  25. int tri3X[400];
  26. int tri3Y[400];
  27.  
  28. int trikampiuSkaicius = 0;
  29.  
  30. void ReadFile()//Skaitymas nelabai veikia
  31. {
  32. ifstream file("Duomenys.txt");
  33. string eil;
  34. if(file.is_open())
  35. {
  36.  
  37. while (getline(file, eil))
  38. {
  39. int figura = eil[0];
  40. cout << figura << endl;
  41. if(figura == 2)
  42. {
  43. //eilutes ilgis 3 , vadinas taskas
  44. taskaiY[taskuSkaicius] = eil[2];
  45. taskaiY[taskuSkaicius] = eil[4];
  46. taskuSkaicius++;
  47. }
  48. if (figura == 4)
  49. {
  50. //eilutes ilgis 7 , vadinas atkarpa
  51. atkarpa1X[atkarpuSkaicius] = eil[2];
  52. atkarpa1Y[atkarpuSkaicius] = eil[4];
  53.  
  54. atkarpa2X[atkarpuSkaicius] = eil[6];
  55. atkarpa2Y[atkarpuSkaicius] = eil[8];
  56. taskuSkaicius++;
  57. }
  58.  
  59. }
  60.  
  61. }
  62. else
  63. {
  64. cout << "cant open";
  65. }
  66.  
  67.  
  68. }
  69.  
  70. int KiekLygiagreciuYAsiai()
  71. {
  72. int skaicius = 0;
  73. for(int i = 0; i < atkarpuSkaicius; i++) // Jeigu abudu X taskai yra tokiose paciose kordinatese, tai lygiagretu Y
  74. {
  75. if (atkarpa1X[i] == atkarpa2X[i])
  76. skaicius++;
  77. }
  78. return skaicius;
  79. }
  80.  
  81. int AtstumasTarpDviejuTasku(int x, int y, int a, int b) {
  82. return sqrt(pow(x - a, 2) + pow(y - b, 2));
  83. }
  84.  
  85. int KiekKertaYAsiSuma()
  86. {
  87. int skaicius = 0;
  88. for (int i = 0; i < atkarpuSkaicius; i++)
  89. {
  90. if (atkarpa1X[i] < 0 && atkarpa2X[i] > 0) // Jeigu vienas galas yra pries Y , o kitas po Y, tai vadinas kad kerta
  91. {
  92. skaicius += AtstumasTarpDviejuTasku(atkarpa1X[i], atkarpa1Y[i], atkarpa2X[i], atkarpa2Y[i]);
  93. }
  94. else if(atkarpa1X[i] > 0 && atkarpa2X[i] < 0)
  95. {
  96. skaicius += AtstumasTarpDviejuTasku(atkarpa1X[i], atkarpa1Y[i], atkarpa2X[i], atkarpa2Y[i]);
  97. }
  98. }
  99. return skaicius;
  100. }
  101.  
  102.  
  103.  
  104. int main()
  105. {
  106. ReadFile();
  107. cout << "Atkarpos lygiagrecios Y asiai " << KiekLygiagreciuYAsiai() << endl;
  108. cout << "Atkarpos kertancios Y asi suma " << KiekKertaYAsiSuma() << endl;
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement