Advertisement
Guest User

Untitled

a guest
Feb 23rd, 2020
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.55 KB | None | 0 0
  1. #pragma warning(disable:4996)
  2. #include<iostream>
  3. #include<stdio.h>
  4. #define Max 100
  5.  
  6. using namespace std;
  7.  
  8. void xoa(char a[], int vt) {
  9. int n = strlen(a);
  10. for (int i = vt; i < n; i++)
  11. {
  12. a[i] = a[i + 1];
  13. }
  14. a[n - 1] = '\0';
  15. }
  16.  
  17. bool tontaiko(char k[], int so) {
  18. for (int i = 0; i < strlen(k); i++)
  19. {
  20. if (k[i] == ((char)so + '0'))
  21. return 1;
  22. }
  23. return 0;
  24. }
  25. void xoa1(char a[]) {
  26. for (int i = 0; i < strlen(a); i++)
  27. {
  28. if (a[i] == '1')
  29. {
  30. xoa(a, i);
  31. break;
  32. }
  33. }
  34. }
  35. void xoa2(char a[]) {
  36. for (int i = 0; i < strlen(a); i++)
  37. {
  38. if (a[i] == '2')
  39. {
  40. xoa(a, i);
  41. break;
  42. }
  43. }
  44. }
  45. void xoa3(char a[]) {
  46. for (int i = 0; i < strlen(a); i++)
  47. {
  48. if (a[i] == '3')
  49. {
  50. xoa(a, i);
  51. break;
  52. }
  53. }
  54. }
  55. int dem1(char g[]) {
  56. int dem = 0;
  57. for (int i = 0; i < strlen(g); i++)
  58. {
  59. if (g[i] == '1') dem++;
  60. }
  61. return dem;
  62. }
  63. int dem2(char g[]) {
  64. int dem = 0;
  65. for (int i = 0; i < strlen(g); i++)
  66. {
  67. if (g[i] == '2') dem++;
  68. }
  69. return dem;
  70. }
  71. int dem3(char g[]) {
  72. int dem = 0;
  73. for (int i = 0; i < strlen(g); i++)
  74. {
  75. if (g[i] == '3') dem++;
  76. }
  77. return dem;
  78. }
  79.  
  80. void themso(char k[], int so, int vt,int soluong) {
  81. for (int i = vt; i < soluong; i++)
  82. {
  83. k[i] = (char)so + '0';
  84. }
  85. }
  86.  
  87.  
  88. int xuat_so_lan(char k[], int a, int b, int c) {
  89. int dem = 0;
  90. char g[Max];
  91. themso(g, 1, 0, a);
  92. themso(g, 2, a, b+a);
  93. themso(g, 3, b+a, c+b+a);
  94. g[a + b + c] = '\0';
  95. if (tontaiko(g, 1)&&dem1(g)!=1)
  96. {
  97. xoa1(g);
  98. dem++;
  99. }
  100. if (tontaiko(g, 2)&dem2(g) != 1)
  101. {
  102. xoa2(g);
  103. dem++;
  104. }
  105. if (tontaiko(g, 3) & dem3(g) != 1)
  106. {
  107. xoa3(g);
  108. dem++;
  109. }
  110. if (tontaiko(g, 1) && tontaiko(g, 2) && tontaiko(g, 3))
  111. {
  112. if (dem1(g) > dem2(g) && dem1(g )> dem3(g))
  113. {
  114. xoa1(g);
  115. xoa2(g);
  116. dem++;
  117. if (tontaiko(g, 1) && tontaiko(g, 3))
  118. {
  119. xoa1(g);
  120. xoa3(g);
  121. dem++;
  122. }
  123. if (tontaiko(g, 2) && tontaiko(g, 3))
  124. {
  125. xoa2(g);
  126. xoa3(g);
  127. dem++;
  128. }
  129. }
  130. else if (dem2(g) > dem1(g) && dem2(g) > dem3(g))
  131. {
  132. xoa2(g);
  133. xoa1(g);
  134. dem++;
  135. if (tontaiko(g, 2) && tontaiko(g, 3))
  136. {
  137. xoa1(g);
  138. xoa3(g);
  139. dem++;
  140. }
  141. if (tontaiko(g, 1) && tontaiko(g, 3))
  142. {
  143. xoa2(g);
  144. xoa3(g);
  145. dem++;
  146. }
  147. }
  148. else if (dem3(g) > dem2(g) && dem3(g) > dem1(g))
  149. {
  150. xoa3(g);
  151. xoa2(g);
  152. dem++;
  153. if (tontaiko(g, 3) && tontaiko(g, 1))
  154. {
  155. xoa1(g);
  156. xoa3(g);
  157. dem++;
  158. }
  159. if (tontaiko(g, 2) && tontaiko(g, 1))
  160. {
  161. xoa2(g);
  162. xoa3(g);
  163. dem++;
  164. }
  165. }
  166. else
  167. {
  168. if (dem1(g) == 1 && dem2(g) == 1 && dem3(g) == 1)
  169. {
  170. dem += 2;
  171. return dem;
  172. }
  173. else
  174. {
  175. dem += 4;
  176. return dem;
  177. }
  178. }
  179. }
  180. if (tontaiko(g, 1)&& tontaiko(g, 2)&& tontaiko(g, 3))
  181. {
  182. xoa1(g);
  183. xoa2(g);
  184. xoa3(g);
  185. dem++;
  186. }
  187. return dem;
  188. }
  189.  
  190. int main() {
  191. int n;
  192. char a[Max];
  193. do
  194. {
  195. cout << "Nhap so truong hop: "; cin >> n;
  196. } while (n < 1 || n>500);
  197. for (int i = 0; i < n * 3; i+=3)
  198. {
  199. do
  200. {
  201. cout << "\nnhap 3 so lieu a, b, c: ";
  202. cin >> a[i] >> a[i + 1] >> a[i + 2];
  203. } while (a[i] < 0 || a[i]>10 || a[i + 1] < 0 || a[i + 1]>10 || a[i + 1] < 0 || a[i + 1]>10);
  204. }
  205. cout << n<<endl;
  206. for (int i = 0; i < n * 3; i += 3)
  207. {
  208. cout << a[i] << " " << a[i + 1] << " " << a[i + 2] << endl;
  209. }
  210. cout << "=========================================================="<<endl;
  211. for (int i = 0; i < n * 3; i += 3)
  212. {
  213. int k1, k2, k3;
  214. k1 = (int)(a[i]) - '0';
  215. k2 = (int)(a[i+1]) - '0';
  216. k3 = (int)(a[i+2]) - '0';
  217. cout << xuat_so_lan(a, k1, k2, k3)<<endl;
  218. }
  219. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement