Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: mapers en 4 Julio 2010, 06:36 am



Título: numero a array
Publicado por: mapers en 4 Julio 2010, 06:36 am
quisiera que me digan si existe una funcion que haga lo siguiente:
que  por ejemplo el numero  0.2365 sea un numero de tipo float lo pasemos a un array |0|.|2|3|6|5|  gracias de antemano


Título: Re: numero a array
Publicado por: nicolas_cof en 4 Julio 2010, 06:46 am
mapers, aca te dejo un codigo que te puede servir como base...

Código:
#include <stdio.h>

int main( void )
{
    char cad[10];
    float num = 0.2365;

    sprintf( cad, "%f", num );

    printf( "%s\n", cad );

    return 0;
}

Salu10.


Título: Re: numero a array
Publicado por: mapers en 4 Julio 2010, 06:57 am
men y si quiero el tercer numero de mi arreglo no me imprime nada men

#include <cstdlib>
#include <iostream>

int main( void )
{
    char cad[10];
    float num = 0.2365;

    sprintf( cad, "%f", num );
    printf( "%s\n", cad[2]);
    system("PAUSE");
}


Título: Re: numero a array
Publicado por: Og. en 4 Julio 2010, 07:00 am
men y si quiero el tercer numero de mi arreglo no me imprime nada men

#include <cstdlib>
#include <iostream>

int main( void )
{
    char cad[10];
    float num = 0.2365;

    sprintf( cad, "%f", num );
    printf( "%s\n", cad[2]);
    system("PAUSE");
}


Obviamente no te va a imprimir, el %s espera una direccion de memoria, tu estas enviando un caracter, para imprimir caracteres existe: "%c"


Saludos!


Título: Re: numero a array
Publicado por: nicolas_cof en 4 Julio 2010, 07:05 am
Ademas de lo mencionado por Og., no te olvides de poner return 0; al final en main()

Otra cosa, no es muy recomendable usar llamadas al sistema para hacer simplemente una pausa, puedes utilizar getchar() de la libreria stdio.h, pero recuerda que siempre debes limpiar el buffer de entrada para que este funcione.

Te recomiendo pasar por este post...

http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html

Y siempre que hagas post de codigo fuente, por favor utiliza las etiquetas GeSHI o code

Salu10.


Título: Re: numero a array
Publicado por: @synthesize en 4 Julio 2010, 07:58 am
Vas leyendo número a número y con un bucle lo vas introduciendo en las celdas del arreglo.


Título: Re: numero a array
Publicado por: Littlehorse en 4 Julio 2010, 22:54 pm
Vas leyendo número a número y con un bucle lo vas introduciendo en las celdas del arreglo.

No tiene sentido leer numero a numero, ten en cuenta que el dato es un float. Intenta hacerlo y pon el ejemplo, veras a lo que me refiero.

Lo ideal es usar sprintf (mejor aun, snprintf), como ya esta expuesto.

Código
  1. #include <iostream>
  2. #include <cstdio>
  3. using namespace std;
  4.  
  5. int main()
  6. {  
  7.    char cad[10];
  8.    float num = 0.2365f;
  9.    snprintf( cad,sizeof(cad),"%f",num);
  10.    cout<<cad<<endl;
  11.    cin.get();
  12. }

Obviamente también podes leer el dato como una cadena y luego parsearlo previa validación (fgets + sscanf) aunque en el ejemplo inicial la lectura del dato se omite, así que por lo tanto lo ideal seria snprintf.

Saludos!