Advertisement
Guest User

Untitled

a guest
May 23rd, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.62 KB | None | 0 0
  1. import java.util.*;
  2. import java.math.*;
  3. public class HammingGenerator {
  4. private static int[] messageArray;
  5. private static int [][] hammingArray;
  6. private static int[] syndrome;
  7. private static int r;
  8. private static int k;
  9.  
  10. public static void main(String args[]) {
  11.  
  12. Scanner in = new Scanner(System.in);
  13. System.out.println("Wprowadz dlugosc wiadomosci: ");
  14. int n = in.nextInt();
  15. inputMessage(n);
  16.  
  17. }
  18.  
  19. //wprowadzanie wiadomosci
  20. private static void inputMessage(int n) {
  21. // System.out.println("Wprowadzanie widomosci");
  22. // messageArray = new int[n];
  23. // Scanner in = new Scanner(System.in);
  24. // for(int i=0 ; i < n ; i++) {
  25. // System.out.println("Wprowadz bit nr " + (n-i) + ":");
  26. // messageArray[n-i-1] = in.nextInt();
  27. // }
  28. // System.out.println("Wprowadzono:");
  29. // for(int i=0 ; i < n ; i++) {
  30. // System.out.print(messageArray[n-i-1]);
  31. // }
  32. // System.out.println();
  33. r = calculateR(n,3);
  34. k = n + r;
  35. hammingArray = new int[r][k];
  36.  
  37. // //tworzenie macierzy jednostkowej
  38. // for (int row = 0; row < hammingArray.length; row++) {
  39. // for (int col = n; col < hammingArray[row].length; col++) {
  40. // if (row == col-n){ hammingArray[row][col] = 1;}
  41. // System.out.print(hammingArray[row][col] + "\t");
  42. // }
  43. // System.out.println();
  44. // }
  45. // System.out.println();
  46.  
  47. for (int i = 0; i < hammingArray.length; i++) {
  48. for (int j = 0; j < hammingArray[i].length - r; j++) {
  49. if (j == 0){ hammingArray[i][j] = 1;
  50. } else if (i ==1 && j == hammingArray[i].length || j == hammingArray[i].length -1) {
  51. hammingArray[i][j] = 1;
  52. }
  53. System.out.print(hammingArray[i][j] + "\t");
  54. }
  55. System.out.println();
  56. }
  57. System.out.println();
  58.  
  59. //print
  60. // for (int row = 0; row < hammingArray.length; row++) {
  61. // for (int col = 0; col < hammingArray[row].length; col++) {
  62. // System.out.print(hammingArray[row][col] + "\t");
  63. // }
  64. // System.out.println();
  65. // }
  66. }
  67.  
  68. private static int calculateR(int k, int dmin) {
  69. if (dmin == 3) {
  70. return (int)Math.ceil(Math.log(k)/Math.log(2))+1;
  71. } else if (dmin == 4) {
  72. return (int)Math.ceil(Math.log(k)/Math.log(2))+2;
  73. } else {
  74. //błąd
  75. return 0;
  76. }
  77. }
  78.  
  79.  
  80.  
  81.  
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement