/**************************************************************** * Name : Dawid Sip * * Bsp,Nr : 1150, Hamming Code * * Email : vad@poczta.onet.pl * ****************************************************************/ import eprog.*; public class hamming extends EprogIO { public static void main(String[] args) throws EprogException { char nullEinz; boolean error = false; String eingabe = readWord(); String falsch = new String("FALSCHE EINGABE"); int lenge = eingabe.length(); int[] datenW = new int[6]; int[] codeW = new int[10]; int j=0; int z=1; int i,k,l; for(i=0; i<lenge; i++) { nullEinz = eingabe.charAt(i); if( (nullEinz!='1' && nullEinz!='0') || lenge>6) { error=true; break; } else datenW[i] = Character.getNumericValue(nullEinz); } if(!error) { codeW[0]=1; for(k=2,l=2; k<17; l++) { if(l%k==0) { codeW[l-1]=k; z++; k*=2; } else { codeW[l-1]=datenW[j]; j++; if(j==lenge) break; } } print((codeW[2]^codeW[4]^codeW[6]^codeW[8])+" "); print(codeW[2]^codeW[5]^codeW[6]^codeW[9]); switch(z) { case 2 : println(" "); break; case 3 : println(" "+(codeW[4]^codeW[5]^codeW[6])); break; case 4 : print(" "+(codeW[4]^codeW[5]^codeW[6])); println(" "+(codeW[8]^codeW[9])); break; } } else println(falsch); } }