Advertisement
Guest User

Untitled

a guest
Dec 6th, 2019
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.84 KB | None | 0 0
  1. import java.util.Random;
  2.  
  3.  
  4. class Obraz {
  5.  
  6. private int size_n;
  7. private int size_m;
  8. private char[][] tab;
  9. private int[] histogram;
  10. private int charForThreads = 0;
  11.  
  12.  
  13.  
  14.  
  15. public Obraz(int n, int m) {
  16.  
  17. this.size_n = n;
  18. this.size_m = m;
  19. tab = new char[n][m];
  20.  
  21. final Random random = new Random();
  22.  
  23. for(int i=0;i<n;i++) {
  24. for(int j=0;j<m;j++) {
  25. tab[i][j] = (char)(random.nextInt(94)+33); // ascii 33-127
  26. System.out.print(tab[i][j]+" ");
  27. }
  28. System.out.print("\n");
  29. }
  30. System.out.print("\n\n");
  31.  
  32. histogram = new int[94];
  33.  
  34.  
  35. clear_histogram();
  36. }
  37.  
  38.  
  39.  
  40. public void clear_histogram(){
  41.  
  42. for(int i=0;i<94;i++) histogram[i]=0;
  43.  
  44. }
  45.  
  46. public void calculate_histogram(){
  47.  
  48. for(int i=0;i<size_n;i++) {
  49. for(int j=0;j<size_m;j++) {
  50.  
  51. for(int k=0;k<94;k++) {
  52. if(tab[i][j] == (char)(k+33)) histogram[k]++;
  53. }
  54.  
  55. }
  56. }
  57.  
  58. }
  59.  
  60. public void print_histogram(){
  61.  
  62. for(int i=0;i<94;i++) {
  63. System.out.print((char)(i+33)+" "+histogram[i]+"\n");
  64. }
  65.  
  66. }
  67. public String getValueAtChar(char c)
  68. {
  69. String sign = "";
  70. int value = histogram[(int) (c-33)];
  71. for(int i = 0; i<value;i++){
  72. sign +="=";
  73. }
  74. return sign;
  75. }
  76.  
  77. public synchronized String getNextChar()
  78. {
  79. if (charForThreads == 94){
  80. return null;
  81. }
  82. int value = histogram[charForThreads];
  83. String sign = (char)(charForThreads + 33) + " ";
  84. for (int i = 0; i < value; i++) {
  85. sign += "=";
  86. }
  87. charForThreads++;
  88. return sign;
  89. }
  90.  
  91.  
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement