Advertisement
Guest User

Untitled

a guest
Jan 16th, 2018
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.23 KB | None | 0 0
  1. package HashArray2;
  2.  
  3. import java.io.*;
  4.  
  5. import java.util.Arrays;
  6. import java.util.stream.Collectors;
  7.  
  8. public class Tablica2 {
  9. static int m = 4013; // wielkosc Tablicicy
  10.  
  11. // haszowanie modularne
  12. static int h(int k) {
  13. return k % m;
  14. }
  15.  
  16. // adresowanie liniowe
  17. // static int H(Integer A[], int k, int index) {
  18. // return (h1(k) + index) % m;
  19. // }
  20. //
  21. // static void funkcja(Integer A[], int k) {
  22. // int index = 0;
  23. // int adres = H(A, k, index);
  24. // // System.out.print("Liczba: " + k);
  25. // // System.out.print(" ,adres: " + adres);
  26. // // while (A[adres] != null) {
  27. // // index++;
  28. // // adres = H(A, k, index);
  29. // // System.out.print(" ,adres: " + adres);
  30. // // }
  31. // A[adres]++;
  32. // // System.out.println();
  33. // }
  34.  
  35. public static void main(String[] args) {
  36.  
  37. Integer T[] = new Integer[m];
  38. String slowa[] = new String[m];
  39.  
  40. String fileName = "3700.txt";
  41. String line = null;
  42. int index=0;
  43.  
  44. int value=0;
  45. int ilosc_slow=0;
  46. int ile_zer=0;
  47. int max_wart=0;
  48. int ile_razem=0;
  49. int ile_dodalem=0;
  50.  
  51. // wczytywanie wartosci
  52. try {
  53. FileReader fileReader = new FileReader(fileName);
  54. BufferedReader bufferedReader = new BufferedReader(fileReader);
  55.  
  56. while((line = bufferedReader.readLine()) != null) {
  57. slowa[index]=line;
  58. index++;
  59. }
  60.  
  61. bufferedReader.close();
  62. }
  63. catch(FileNotFoundException ex) {
  64. System.out.println("Unable to open file '" + fileName + "'");
  65. }
  66. catch(IOException ex) {
  67. System.out.println("Error reading file '" + fileName + "'");
  68. }
  69.  
  70. // liczenie ilosci slow
  71. for(int j = 0; j < slowa.length; j++) {
  72. if(slowa[j] != null && slowa[j].length() > 0) {
  73. ilosc_slow++;
  74. }
  75. }
  76.  
  77. Integer wartosci[] = new Integer[ilosc_slow];
  78.  
  79.  
  80.  
  81. // System.out.println("slowa: ");
  82. // System.out.println(Arrays.toString(slowa));
  83. for(int i=0;i<ilosc_slow;i++){
  84. for(int j=0;j<slowa[i].length();j++){
  85. value = (value+(int) slowa[i].charAt(j)) * 2;
  86. }
  87. wartosci[i]= value;
  88. value=0;
  89. }
  90.  
  91. System.out.println("wartosci: ");
  92. System.out.println(Arrays.toString(wartosci));
  93.  
  94. // zerowanie T
  95. for(int i=0;i<m;i++){
  96. T[i]=0;
  97. }
  98.  
  99. for(int i=0;i<wartosci.length;i++){
  100. T[h(wartosci[i])]++;
  101. }
  102.  
  103. System.out.println("T: ");
  104. System.out.println(Arrays.toString(T));
  105.  
  106.  
  107. for(int i=0;i<T.length;i++){
  108. if(T[i] == 0){
  109. ile_zer++;
  110. }
  111. }
  112.  
  113. for(int i=0;i<T.length;i++){
  114. if(T[i] > max_wart){
  115. max_wart=T[i];
  116. }
  117. }
  118.  
  119. for(int i=0;i<T.length;i++){
  120. if(T[i] != 0){
  121. ile_razem+=T[i];
  122. ile_dodalem++;
  123. }
  124. }
  125.  
  126. double srednia = (double) ile_razem/(double) ile_dodalem;
  127.  
  128.  
  129. System.out.println("Ilosc zerowych pozycji: " + ile_zer);
  130. System.out.println("Maksymalna wartosc: " + max_wart);
  131. System.out.println("Srednia: " + srednia);
  132.  
  133.  
  134. }
  135. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement