Advertisement
Guest User

Untitled

a guest
Dec 9th, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.54 KB | None | 0 0
  1. #include<fstream>
  2. #include<iostream>
  3.  
  4. using namespace std;
  5.  
  6. void sort(int A[], int n) {
  7. for (int i = 0; i < n - 1; i++) {
  8. for (int j = i + 1; j < n; j++) {
  9. if (A[j] < A[i]) {
  10. int x = A[i];
  11. A[i] = A[j];
  12. A[j] = x;
  13. }
  14. }
  15. }
  16. }
  17.  
  18. int ar_kitas_turi(int kandidatas, int kito_masyvas[], int kito_masyvo_ilgis){
  19. for(int i = 0; i < kito_masyvo_ilgis; i++)
  20. if(kito_masyvas[i] == kandidatas) return 1;
  21.  
  22. return 0;
  23. }
  24.  
  25. int main() {
  26. setlocale(LC_ALL, "Lithuanian");
  27.  
  28. // declare variables
  29. int jurgio_zais_numeriai[100], linos_zais_numeriai[100], Lm[100], l, Jm[100], j, K[100], k, nr;
  30. int jurgio_zaisliuku_kiekis, linos_zaisliuku_kiekis;
  31.  
  32. // init arrays to 0
  33. for (int i = 0; i <= 100; i++){
  34. linos_zais_numeriai[i] = 0;
  35. jurgio_zais_numeriai[i] = 0;
  36. }
  37.  
  38. // skaitomi duomenys ir nustatomas kiekis zaisliuku kiekvienam veikejui
  39. ifstream df("duom.txt");
  40. df >> linos_zaisliuku_kiekis;
  41. df >> jurgio_zaisliuku_kiekis;
  42.  
  43. printf("Linos zais #: %d\n", linos_zaisliuku_kiekis);
  44. printf("Jurgio zais #: %d\n", jurgio_zaisliuku_kiekis);
  45.  
  46. // konstruojame Linos masyva (is failo reiksmes keliame i masyva).
  47. for (int i = 0; i < linos_zaisliuku_kiekis; i++){
  48. df >> nr;
  49. linos_zais_numeriai[i] = nr;
  50. }
  51.  
  52. // // pasitikriname ar teisingai sukonstravome masyva
  53. // for (int i = 0; i <= linos_zaisliuku_kiekis; i++){
  54. // printf("Skaicius: %d --> %d\n", i, linos_zais_numeriai[i]);
  55. // }
  56.  
  57. // konstruojame Jurgio masyva
  58. for (int i = 0; i < jurgio_zaisliuku_kiekis; i++){
  59. df >> nr;
  60. jurgio_zais_numeriai[i] = nr;
  61. }
  62.  
  63. df.close();
  64.  
  65. // atrinktu Linos siulomus mainams su Jurgiu žaisliuku numerius;
  66.  
  67. // 1. Mainams galima siulyti tuos žaisliukus, kuriu kolekcijoje yra daugiau kaip vienas.
  68. // ... taigi pirmiausia issirikiuojame
  69. sort(linos_zais_numeriai, linos_zaisliuku_kiekis);
  70.  
  71. // ... darome prielaida, jog max pasikartojanciu zaisliuku skaicius yra 2
  72. int linos_zaisliukai_mainams[100];
  73. int linos_kiekis_mainams = 0;
  74. for(int i = 0; i < linos_zaisliuku_kiekis; i++){
  75. if(linos_zais_numeriai[i] == linos_zais_numeriai[i + 1]){
  76. // 2. Taciau mainams netinka tie žaisliukai, kuriuos jau turi draugas
  77. int kitas_jau_turi = ar_kitas_turi(linos_zais_numeriai[i], jurgio_zais_numeriai, jurgio_zaisliuku_kiekis);
  78. printf("Kitas turi (1 reiskia turi)? : %d\n" , kitas_jau_turi);
  79. if(!kitas_jau_turi){
  80. linos_zaisliukai_mainams[linos_kiekis_mainams] = linos_zais_numeriai[i];
  81. linos_kiekis_mainams++;
  82. }
  83. }
  84. }
  85.  
  86. printf("\nLinos zaislai mainams: ");
  87. for (int i = 0; i < linos_kiekis_mainams; i++){
  88. printf("%d ", linos_zaisliukai_mainams[i]);
  89. }
  90.  
  91. // 3. Mainams negalima siulyti keliu vienodu žaisliuku.
  92.  
  93.  
  94. // atrinktu Jurgio siulomus mainams su Lina žaisliuku numerius;
  95. sort(jurgio_zais_numeriai, jurgio_zaisliuku_kiekis);
  96.  
  97. // ... darome prielaida, jog max pasikartojanciu zaisliuku skaicius yra 2
  98. int jurgio_zaisliukai_mainams[100];
  99. int jurgio_kiekis_mainams = 0;
  100. for(int i = 0; i < jurgio_zaisliuku_kiekis; i++){
  101. if(jurgio_zais_numeriai[i] == jurgio_zais_numeriai[i + 1]){
  102. int kitas_jau_turi = ar_kitas_turi(jurgio_zais_numeriai[i], linos_zais_numeriai, linos_zaisliuku_kiekis);
  103. printf("Kitas turi (1 reiskia turi)? : %d\n" , kitas_jau_turi);
  104. if(!kitas_jau_turi){
  105. jurgio_zaisliukai_mainams[jurgio_kiekis_mainams] = jurgio_zais_numeriai[i];
  106. jurgio_kiekis_mainams++;
  107. }
  108. }
  109. }
  110.  
  111. printf("\nJurgiozaislai mainams: ");
  112. for (int i = 0; i < jurgio_kiekis_mainams; i++){
  113. printf("%d ", jurgio_zaisliukai_mainams[i]);
  114. }
  115.  
  116. return 0;
  117. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement