domingo, 26 de agosto de 2012

Recursividad Decimal(Integer) a Binario(String) C++

Problema:
Dado un entero, crear un string que contenga su equivalente en binario

Solucion:
#include <iostream>
#include <sstream>
using namespace std;

string aString(int n, string a){
    stringstream aux;
    aux << n << a;
    a = aux.str();
    return a;
}

string convert(int num, string str){
    if(num<2){
        str = aString(num, str);
        return str;
    }
    else{
        str = aString(num%2, str);
        return convert(num/2, str);
    }
}

int main(){
    int num; string str;
    cout << "Introduzca numero a convertir"<<endl;
    cin >> num;

    str = convert(num, str);

    cout << "Su equivalente en binario es: "<<str <<endl;

    return 0;
}

No hay comentarios:

Publicar un comentario