Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: silverk123 en 6 Diciembre 2012, 00:15 am



Título: Ayuda con Suma binaria (tiene codigo)o reprobare el semestre en menos de 1 hora
Publicado por: silverk123 en 6 Diciembre 2012, 00:15 am
Hola Foro. He buscado por todo internet ayuda pero no encuentro una solucion.

Espeor y me ayuden aqui.

Lo que tengo que ahcer es una suma binaria.
Ya tengo el codigo pero no me imprime el resultado solo me imprime puros 1606 en ves del los resultados.

Código:
#include <string.h>
#include <conio.h>
#include <stdio.h>
int N1[8],N2[8], RE[9];
int C=0,I=0;

main()
{
 clrscr();


     printf("Captura un Nĝ Binario de 8 Digitos: \n");
     scanf("%d",&N1[I]);

     printf("Captura otro Nĝ Binario de 8 Digitos:\n ");
     scanf("%d",&N2[I]);

    for(I=7;I>=0;--I)
    {
     if(N1[I]+N2[I]+C==0)
      {
       RE[I]=0;
       C=0;
      }
     else if(N1[I]+N2[I]+C==1)
          {
           RE[I]=1;
           C=0;
          }
else   if(N1[I]+N2[I]+C==2)
           {
            RE[I]=0;
            C=1;
           }
 else   if(N1[I]+N2[I]+C==3)
              {
               RE[I]=1;
               C=1;
               }
    }

   printf("Resultado: ");
  
for(I=0;I<=7;++I)   /*ciclo para imprimir 1  por 1 el numero */
   {
   printf("%d",RE);
   }
  getch();

}


ojala y me puedna ayudar!


Título: Re: Ayuda con Suma binaria o reprobare el semestre en menos de 2 horas
Publicado por: silverk123 en 6 Diciembre 2012, 00:39 am
Por favor ayudenme me queda 1 hora ocn 20 minutos y todavi ano consigo que me imprima bien el resultaod llevo ya mas de 4 horas intentadolo y nada.


Título: Re: Ayuda con Suma binaria (tiene codigo)o reprobare el semestre en menos de 1 hora
Publicado por: Legnak en 6 Diciembre 2012, 01:13 am
Código
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <stdlib.h>
  4.  
  5. char a[5]; //variable para el primer valor a sumar
  6. char b[5]; //variable para el primer valor a sumar
  7. long resultado; //variable para el resultado
  8. char resultado_str[5]; //variable para obtener el resultado en binario
  9. int main ()
  10. {
  11. printf("Introduzca primer n£mero: ");
  12. scanf("%s", &a); //lectura del primer numero
  13. printf("Introduzca segundo n£mero: ");
  14. scanf("%s", &b); //lectura del segundo numero
  15. resultado = strtol (a, NULL, 2) + strtol (b, NULL, 2); //suma de los dos valores usando la funcion strtol
  16. itoa(resultado, resultado_str, 2);//como se obtiene un resultado decimal se convierte a entero con esta función y se le asigna a la variable resultado_str
  17. printf("El resultado es %s",resultado_str); //imprime el resultado
  18. getch();
  19. return 0;
  20.        }
  21.  
  22.  


Título: Re: Ayuda con Suma binaria (tiene codigo)o reprobare el semestre en menos de 1 hora
Publicado por: leosansan en 6 Diciembre 2012, 15:08 pm
Has pruebas y confirma que funciona bien:
Código
  1. #include <string.h>
  2. #include <stdio.h>
  3. #define N   3 /*<== aqui pones los digitos que quieres*/
  4.  
  5. int main()
  6. {
  7.    int N1[N]={0},N2[N]={0}, RE[9]={0};
  8.    int C=0,I=0;
  9.    for(I=0;I<N;I++){
  10.        printf ("Digito %d del N1: ",I);
  11.        scanf("%d",&N1[I]);
  12.    }
  13.    puts ("\n");
  14.    for(I=0;I<N;I++){
  15.        printf ("Digito %d del N2: ",I);
  16.        scanf("%d",&N2[I]);
  17.    }
  18.    for(I=0;I<N;++I){
  19.        if((N1[I]+N2[I]+C)==0){
  20.           RE[I]=0;
  21.           C=0;
  22.        }
  23.         else if((N1[I]+N2[I]+C)==1){
  24.               RE[I]=1;
  25.               C=0;
  26.        }
  27.        else   if((N1[I]+N2[I]+C)==2){
  28.                RE[I]=0;
  29.                C=1;
  30.        }
  31.        else   if((N1[I]+N2[I]+C)==3){
  32.            RE[I]=1;
  33.            C=1;
  34.        }
  35.    }
  36.    if (C==0) RE[I]=0;
  37.    else RE[I]=1;
  38.    for(I=N;I>=0;--I)  /*ciclo para imprimir 1  por 1 el numero */
  39.      printf("%d ",RE[I]);
  40.    return 0;
  41. }
Saluditos!.