elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / pasar de decimal a cualquier base menor de 10 en: 21 Mayo 2014, 20:25 pm
Holaa tengo que hacer este ejercicio y no consigo que me salga, estoy empezando con los arrays y aun no lo controlo bien:
Escriba una función que acepte de entrada una cadena y devuelva un número entero. La función efectuará la conversión de un número entero en base 10 a cualquier base menor a 10. La cadena de entrada es un string en formato "número/base". El programa principal leerá la cadena, llamará a la función, y mostrará el resultado Ejemplo: - Introduzca dato: 723/4 - Indica que el número 723 hay que convertirlo a base 4.
NOTA: Como la salida es un entero, está limitado el número de dígitos a usar. En particular, para base 2 funcionará bien para el número 1023, pero el número 1024 en base 2 requiere 11 dígitos, lo cual no cabe en la variable entera de salida, generando un resultado erróneo. Se puede evitar ese problema haciendo que la variable de salida sea de tipo cadena.

Esto es lo q yo he hecho, me salen muchos errores:

#include <iostream>
#include<array>
using namespace std;

int Conversor(string numero,string base,string& cociente)
{
        int contador=1,i;
        cociente=numero;

        while(cociente>=base)
        {
            cociente=cociente/base;
            contador++;
        }
        for(i=contador; i>0; i--)
        {
            cociente=numero;
            contador=i;
            while(contador>1)
            {
                cociente=cociente/base;
                contador--;
            }

        }
}

int main()
{
    string numero,base;
    cout<<"Escribe el numero que quieres convertir (num/base): ";
    getline(cin,numero,'/');
    getline(cin,base,'\n');
    if(base<=10)
        Conversor(numero,base);
    else
        cout<<"Error no es una base menor de 10";
    return 0;
}


2  Programación / Programación C/C++ / pasar de decimal a cualquier base menor de 10 en: 2 Abril 2014, 19:31 pm
hola, tengo q hacer este ejercicio pero no m sale bien. lo unico q e conseguido es q m salga el numero al reves. alguien m podria decir q puedo hacer para darle la vuelta? o hacerlo de otra forma? no s puede usar void, gracias.

#include <iostream>
#include <cmath>

using namespace std;

int main()
{
    unsigned numero,base,cociente,resto,contador=0,i,total,diez,num,decimal;
    cout<<"escribe el numero que quieres convertir: ";
    cin>>numero;
    cout<<"la base a la que quieres pasarlo: ";
    cin>>base;
    cociente=numero;

    while(cociente>=base)
    {
        resto=cociente%base;
        cociente=cociente/base;
        cout<<resto;
        contador++;
    }

    return 0;
}

Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines