////

Iniciado por WOENX, 5 Abril 2011, 04:33 AM

0 Miembros y 1 Visitante están viendo este tema.

WOENX

////

Samael.Black

#1
Cita de: WOENX en  5 Abril 2011, 04:33 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...

WOENX

#2
////

leogtz

No indicaste qué lenguaje.

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


#include <stdio.h>
int main(void)
{
    char string[100];
    unsigned int i;

    printf("Cadena : ");
    scanf("%99[^\r\n]", string);

    for(i = 0; string[i]; i++)
    switch(string[i])
    {
        case 'a':
        case 'b':
        case 'c':
        putchar('2');
        break;
       
        /* Demás casos */

    }
    return 0;
}
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

WOENX

#4
////

WOENX

#5
////

WOENX

#6
////

darkvidhack

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 ;)
live and let die

la duda es la base de todo conocimiento