Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: WOENX en 5 Abril 2011, 04:33 am



Título: ////
Publicado por: WOENX en 5 Abril 2011, 04:33 am
////


Título: Re: convertir letras a numeros
Publicado por: Samael.Black en 5 Abril 2011, 05:46 am
como puedo convertir letras a números como si fueran los de un teléfono

a=b=c=2
d=e=f=3
g=h=i=4
j=k=l=5
m=n=o=6
p=q=r=7
t=u=v=8
w=x=y=z=9

osea leo una cadena e imprimo los resultados en numero lo intente con atoi pero no funciono que funcion lo podria hacer alguna sugerencia
yo diría que seria mas cuestión de crear un algoritmo... que realice lo que quieres lograr... por que función... solo se me ocurre atoi lo que hace es cambiar un carácter a un numero ejemplo char [2] = "1"; con atoi el 1 se convertiría a un numero por que identificaría el 1 como numérico... pero si fuera char [2] = "a"; este carácter no es numérico y no tendría valor... por lo cual te devolverá 0...

pero yo diría que con unos cuantos if o switch se podría hacer una función que realizara lo que quieres... solo es cuestión de usar la cabeza...


Título: Re: convertir letras a numeros
Publicado por: WOENX en 5 Abril 2011, 07:13 am
////


Título: Re: convertir letras a numeros
Publicado por: leogtz en 5 Abril 2011, 07:30 am
No indicaste qué lenguaje.

Yo leería la cadena, luego analizo cada carácter y utilizo un switch:


Código
  1. #include <stdio.h>
  2. int main(void)
  3. {
  4.    char string[100];
  5.    unsigned int i;
  6.  
  7.    printf("Cadena : ");
  8.    scanf("%99[^\r\n]", string);
  9.  
  10.    for(i = 0; string[i]; i++)
  11.    switch(string[i])
  12.    {
  13.        case 'a':
  14.        case 'b':
  15.        case 'c':
  16.        putchar('2');
  17.        break;
  18.  
  19.        /* Demás casos */
  20.  
  21.    }
  22.    return 0;
  23. }
  24.  


Título: Re: convertir letras a numeros
Publicado por: WOENX en 5 Abril 2011, 07:59 am
////


Título: Re: convertir letras a numeros
Publicado por: WOENX en 5 Abril 2011, 08:02 am
////


Título: Re: convertir letras a numeros
Publicado por: WOENX en 5 Abril 2011, 09:45 am
////


Título: Re: convertir letras a numeros
Publicado por: darkvidhack en 5 Abril 2011, 20:02 pm
Hola! Podrias probar a hacer lo siguiente (te lo pongo en C++, luego lo extrapolas a C):


...
..
.
#include <sstream>

stringstream auxiliar;

//enviamos la cadena que quieras a 'auxiliar'

auxiliar<<cadena;

//ahora vas cogiendo caracter por caracter en variables de tipo int, estilo así:

auxiliar.get( variable );

Un saludo! Espero que te sirva ;)