Pages

jueves, 10 de enero de 2013

Ingrese un número y convierta a binario - Código Fuente en C

Problema
Ingrese un número y convierta a binario.

Solución
Este algoritmo recibe un número decimal y lo convierte a número  binario.

Ejemplo
  • Entrada: 10 
  • Salida: 1010
Código Fuente en C 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char *concatenar(char *cadena, char caracter);
int main()
{
 printf("Ingrese un numero entero ");
 int Num;
 char *cad = "";
 scanf("%d",&Num);
 if(Num > 0){
  while(Num > 0){
   if(Num % 2==0){
    char c = '0';
    cad = concatenar(cad, c);
   }else{
    char c = '1';
    cad = concatenar(cad, c);
   }
   Num=(int)Num/2;
  }
  printf("\n%s",cad);
 }else{
  if(Num==0){
   printf("%s","0");
  }else{
   printf("Solo numeros positivos");
  }
 }
 return 0;
}

char *concatenar(char *cadena, char caracter)
{
 char *cad;
 int i;
 cad = (char*)malloc(strlen(cadena) + 2);
 cad[0] = caracter;
 // Encontrar el fin de cadena
 for (i = 1; cadena[i-1] != '\0'; i++)
 {
  cad[i]=cadena[i-1];
 }
 // Añadimos el caracter de fin de cadena
 cad[i++] = '\0';

 return cad;
}

0 comentarios:

Publicar un comentario