GatoBooster

Cuestionario 1 preg 2

Sep 1st, 2017
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.54 KB | None | 0 0
  1. //gcc 5.4.0
  2.  
  3. #include  <stdio.h>
  4. #include  <string.h>
  5. #define MAX 16
  6. int main()
  7. {
  8.     int cantNum, dif, i, j = 0,k,h,cont=0,aux=0;
  9.     int matriz[100+1][MAX+1]={};
  10.    
  11.     do{
  12.         scanf("%d",&cantNum);
  13.     }while((cantNum < 2)||(cantNum > 100));
  14.  
  15.     do{
  16.         scanf("%d",&dif);
  17.     }while((dif < 0)||(dif > 16));            
  18.    
  19.     unsigned short numero,copiaNumero;
  20.     unsigned short bits[MAX];
  21.    
  22.     for(k = 0;k < cantNum;k++){
  23.        
  24.         scanf("%hu",&numero);
  25.        
  26.         for(i=0; i< MAX ; i++){
  27.             bits[i] = 0;
  28.         }
  29.        
  30.         copiaNumero= numero;
  31.         i = MAX-1;
  32.        
  33.         while(copiaNumero != 0){
  34.             bits[i] = copiaNumero%2;
  35.             i--;
  36.             copiaNumero = copiaNumero/2;
  37.         }
  38.        //Pasar los datos a la matriz
  39.         for(i = 0; i < MAX; i++){
  40.             matriz[j][i] = bits[i];
  41.         }            
  42.         j++;
  43.     }
  44.     //Impresión de los datos
  45.     //for(i=0;i<cantNum;i++){
  46.     //    for(j=0;j<16;j++){
  47.     //        printf("%d",matriz[i][j]);
  48.     //    }
  49.     //    printf("\n");
  50.     //}
  51.     i=0;
  52.     //for(h=(cantNum-1); h > i; h--){
  53.     for(h=0; h < cantNum; h++){
  54.         for(i=h+1; i < cantNum; i++){
  55.             for(j=0; j < MAX; j++){
  56.                 if(matriz[i][j] != matriz[h][j]){
  57.                     aux++;                  
  58.                 }
  59.             }
  60.             if(aux == dif){
  61.                 cont++;
  62.             }
  63.             aux=0;
  64.         }
  65.     //}
  66.     }
  67.    printf("%d",cont);
  68.     return 0;
  69. }
Add Comment
Please, Sign In to add comment