Advertisement
sfrsnyz

TIMP 3 V

May 31st, 2021
32
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.85 KB | None | 0 0
  1. ///////////////// WithStack
  2. import java.io.File;
  3. import java.io.FileNotFoundException;
  4. import java.util.Scanner;
  5. import java.util.Stack;
  6.  
  7. public class WithStack {
  8. public static void main(String[] args) throws FileNotFoundException {
  9.  
  10. Stack <Character> stack=new Stack();
  11. File file=new File("Laba3_1.txt");
  12. Scanner scanner=new Scanner(file);
  13.  
  14. while(scanner.hasNext()){
  15. char[] chars = new char[0];
  16. chars=scanner.next().toCharArray();
  17. for(char i:chars){
  18. if(i=='('||i==')'||i=='{'||i=='}'||i=='['||i==']')
  19. stack.add(i);
  20. }
  21. }
  22. int counter1=0; // (
  23. int counter_1=0; // )
  24. int counter2=0; // {
  25. int counter_2=0; // }
  26. int counter3=0; // [
  27. int counter_3=0; // ]
  28. for(char i:stack){
  29. System.out.print(i);
  30. switch(i){
  31. case '(':
  32. counter1++;
  33. break;
  34. case ')':
  35. counter_1++;
  36. break;
  37. case '{':
  38. counter2++;
  39. break;
  40. case '}':
  41. counter_2++;
  42. break;
  43. case '[':
  44. counter3++;
  45. break;
  46. case ']':
  47. counter_3++;
  48. break;
  49. }
  50. }
  51. System.out.println();
  52. boolean prov1=counter1==counter_1;
  53. boolean prov2=counter_2==counter2;
  54. boolean prov3=counter3==counter_3;
  55. System.out.println("(:"+counter1+"\n):"+counter_1+"\n{:"+counter2+"\n}:"+counter_2+"\n[:"+counter3+"\n]:"+counter_3);
  56. if(prov1&&prov2&&prov3){
  57. System.out.println("корректно");
  58. }
  59. else
  60. {
  61. int counter=0;
  62. System.out.println("некорректно");
  63. if(counter1>counter_1){
  64. System.out.println("Отсутствует ')'");
  65. }
  66. if(counter1<counter_1)
  67. System.out.println("Отсутствует '('");
  68. if(counter2>counter_2)
  69. System.out.println("Лишняя '{'");
  70. if(counter2<counter_2)
  71. System.out.println("Лишняя '}'");
  72. if(counter3>counter_3)
  73. System.out.println("Лишняя '['");
  74. if(counter3<counter_3)
  75. System.out.println("Лишняя ']'");
  76. }
  77.  
  78.  
  79. }
  80. }
  81.  
  82. ////////////// class WithQueque
  83. mport java.io.File;
  84. import java.io.FileNotFoundException;
  85. import java.util.LinkedList;
  86. import java.util.Queue;
  87. import java.util.Scanner;
  88.  
  89.  
  90. public class WithQueque {
  91. public static void main(String[] args) throws FileNotFoundException {
  92. Queue<Character> queue=new LinkedList<>();
  93. File file=new File("Laba3_2.txt");
  94. Scanner scanner=new Scanner(file);
  95.  
  96. while(scanner.hasNext()){
  97. char[] chars = new char[0];
  98. chars=scanner.next().toCharArray();
  99. for(char i:chars){
  100. if(i=='('||i==')'||i=='{'||i=='}'||i=='['||i==']')
  101. queue.add(i);
  102. }
  103. }
  104. int counter1=0; // (
  105. int counter_1=0; // )
  106. int counter2=0; // {
  107. int counter_2=0; // }
  108. int counter3=0; // [
  109. int counter_3=0; // ]
  110. for(char i:queue){
  111. System.out.print(i);
  112. switch(i){
  113. case '(':
  114. counter1++;
  115. break;
  116. case ')':
  117. counter_1++;
  118. break;
  119. case '{':
  120. counter2++;
  121. break;
  122. case '}':
  123. counter_2++;
  124. break;
  125. case '[':
  126. counter3++;
  127. break;
  128. case ']':
  129. counter_3++;
  130. break;
  131. }
  132. }
  133. System.out.println();
  134. boolean prov1=counter1==counter_1;
  135. boolean prov2=counter_2==counter2;
  136. boolean prov3=counter3==counter_3;
  137. System.out.println("(:"+counter1+"\n):"+counter_1+"\n{:"+counter2+"\n}:"+counter_2+"\n[:"+counter3+"\n]:"+counter_3);
  138. if(prov1&&prov2&&prov3){
  139. System.out.println("корректно");
  140. }
  141. else
  142. {
  143. System.out.println("некорректно");
  144. if(counter1>counter_1)
  145. System.out.println("Лишняя '('");
  146. if(counter1<counter_1)
  147. System.out.println("Лишняя ')'");
  148. if(counter2>counter_2)
  149. System.out.println("Лишняя '{'");
  150. if(counter2<counter_2)
  151. System.out.println("Лишняя '}'");
  152. if(counter3>counter_3)
  153. System.out.println("Лишняя '['");
  154. if(counter3<counter_3)
  155. System.out.println("Лишняя ']'");
  156. }
  157. }
  158.  
  159.  
  160. }
  161.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement