Advertisement
Guest User

2011 VBE Piršitnių poros (SPRENDIMAS)

a guest
Jul 25th, 2014
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.36 KB | None | 0 0
  1. #include <iostream>
  2. #include <stdlib.h>
  3. #include <fstream>
  4. #include <iomanip>
  5. using namespace std;
  6. const char Cdf[] = "mokiniai.txt";
  7. const char Cfd[] = "rez.txt";
  8. const char Csf[] = "ugiai.txt";
  9. const int Cmax = 100;
  10. const int Cpav = 20;
  11.  
  12. struct Pirstines {
  13. //failo skaitymui
  14. int Sk1; // Vieta pirmam skaičiui iš failo
  15. int Sk2; // antram skaičiui
  16. int Sk3; // trečiam skaičiui
  17. bool used;
  18. };
  19. //funkcijos
  20.  
  21. void Skaityti (Pirstines A[], int & n)
  22. {
  23. ifstream fd(Cdf);
  24. fd >> n;
  25. for(int i = 0; i < n; i ++)
  26. {
  27. fd >> A[i].Sk1 >> A[i].Sk2 >> A[i].Sk3;
  28. A[i].used = false;
  29. }
  30. fd.close();
  31. }
  32.  
  33. void Spausdinti (int a, int b, int c, int d)
  34. {
  35. ofstream fs(Cfd);
  36. fs<<"Vyrų pirštinių poros: "<<a<<endl;
  37. fs<<"Moterų pirštinių poros: "<<b<<endl;
  38. fs<<"Vyrų atliekamos pirštinės : "<<c<<endl;
  39. fs<<"moterų atliekamos pirštinės : "<<d<<endl;
  40. fs.close();
  41. }
  42.  
  43.  
  44. // kiek yra piršinių vyriškos ir moteriškos lyties.
  45. int KiekYraPirstiniu(Pirstines A[], int n, int m)
  46. {
  47. int c = 0;
  48. for(int i = 0; i < n; i++)
  49. {
  50. if(A[i].Sk1 == m)
  51. {
  52. c++;
  53. }
  54. }
  55. return c;
  56. }
  57.  
  58. int PirstiniuPoros (Pirstines A[], int n,int m)
  59. {
  60. int b = 0;
  61. for(int i = 0; i < n; i ++)
  62. {
  63. for(int j = i + 1; j < n; j++)
  64. {
  65. if(A[i].Sk3 == A[j].Sk3 && A[i].Sk1 == m && A[j].Sk1 == m && A[i].Sk2 != A[j].Sk2 && (!A[i].used && !A[j].used))
  66. {
  67. b++;
  68. A[i].used = true;
  69. A[j].used = true;
  70. break;
  71. }
  72.  
  73. }
  74. }
  75. return b;
  76. }
  77. int main()
  78. {
  79. int n; // pirsšiniu skaičius
  80. int v = 3; int m = 4; // indeksai vyru ir moteru
  81. int d = 2, k = 1;
  82. int mot, vyr; // išviso piršinių kiek yra viriškos lyties ir keik moteriškos.
  83. int motp,vyrp; // vyriškų porų ir moteriškų porų piršinių sk.
  84. int atliekV,atliekM; // vyrų ir moterų atliekamos pirštinės
  85. Pirstines A[Cmax];
  86. Skaityti(A,n);
  87. mot = KiekYraPirstiniu(A,n,m);
  88. vyr = KiekYraPirstiniu(A,n,v);
  89. motp = PirstiniuPoros(A,n,m);
  90. vyrp = PirstiniuPoros(A,n,v);
  91. atliekM = mot - motp * 2;
  92. atliekV = vyr - vyrp * 2;
  93. Spausdinti(vyrp,motp,atliekV,atliekM);
  94. return 0;
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement