Suma Binaria en C Sin Usar ciclos

Dudas sobre el C/C++ en general
Responder
Mensaje
Autor
pepenador7
Mensajes: 1
Registrado: 26/09/2019 11:08 am

Suma Binaria en C Sin Usar ciclos

#1 Mensaje por pepenador7 » 26/09/2019 11:13 am

NECESITO CON URGENCIA modificar un programa dado que hace una suma binaria pero con ciclos... e igualarlo pero evitando que use ciclo/bucle... en Lenguaje C

El programa funciona y suma dos numeros binarios dados... pero como lo dije, es necesario no usar ciclos/bucles.. estoy ALTAMENTE DESESPERADO... Ojala me puedan ayudar, pido su ayuda o sabio foro!!!!!! (a quien me ayude con el programa le puedo hacer un pago Via PayPal por la ayuda).... De antemano: Muy agradecido, Muy agradecido!!!

Código: Seleccionar todo

#include<stdio.h>
int main(){

    long int binary1,binary2;
    int i=0,remainder = 0,sum[20];

    printf("Enter any first binary number: ");
    scanf("%ld",&binary1);
    printf("Enter any second binary number: ");
    scanf("%ld",&binary2);

    while(binary1!=0||binary2!=0){
         sum[i++] =  (binary1 %10 + binary2 %10 + remainder ) % 2;
         remainder = (binary1 %10 + binary2 %10 + remainder ) / 2;
         binary1 = binary1/10;
         binary2 = binary2/10;
    }

    if(remainder!=0)
         sum[i++] = remainder;

    --i;
    printf("Sum of two binary numbers: ");
    while(i>=0)
         printf("%d",sum[i--]);

   return 0;
}


Imagen

dehm
Mensajes: 311
Registrado: 29/04/2011 7:31 am

Re: Suma Binaria en C Sin Usar ciclos

#2 Mensaje por dehm » 28/09/2019 11:06 pm

Si no puedes usar ciclos, supongo que no te queda otra opción que usar recursividad.

Este es un ejemplo (realmente no hace la suma como tal, sino que muestra el resultado como binario)

Código: Seleccionar todo

#include <stdio.h>

void binario(int x) {
    if (x>1)
    {
        binario(x/2);
    }
    printf("%d",x % 2);
}

int main()
{
    int binary1,binary2;
    printf("Enter any first binary number: ");
    scanf("%ld",&binary1);
    printf("Enter any second binary number: ");
    scanf("%ld",&binary2);
    int res = binary1+binary2;
    binario(res);
}
Aprendiendo

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado