Foros del Web » Programación para mayores de 30 ;) » C/C++ »

matrices en c de caracteres

Estas en el tema de matrices en c de caracteres en el foro de C/C++ en Foros del Web. como podria transformar los caracteres del ascii en numeros es decir tengo una matriz con caracteres y otra con numeros y lo que quiero es ...
  #1 (permalink)  
Antiguo 20/05/2013, 10:15
 
Fecha de Ingreso: mayo-2013
Mensajes: 2
Antigüedad: 11 años, 7 meses
Puntos: 0
matrices en c de caracteres

como podria transformar los caracteres del ascii en numeros es decir tengo una matriz con caracteres y otra con numeros y lo que quiero es transformarla de numeros a caracteres y viceversa
  #2 (permalink)  
Antiguo 20/05/2013, 12:03
 
Fecha de Ingreso: julio-2012
Mensajes: 375
Antigüedad: 12 años, 5 meses
Puntos: 28
Respuesta: matrices en c de caracteres

De caracter a numero -> Restar 47 y hacer un cast de (int).
De numero a caracter -> Sumar 47 y hacer un cast de (char)
  #3 (permalink)  
Antiguo 20/05/2013, 12:44
 
Fecha de Ingreso: mayo-2013
Mensajes: 2
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: matrices en c de caracteres

pero seria con un for no? podrias poner el codigo
  #4 (permalink)  
Antiguo 20/05/2013, 16:27
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 10 meses
Puntos: 35
Respuesta: matrices en c de caracteres

Código C:
Ver original
  1. int i;
  2. for (i = 0; i < matrix_length; i++)
  3. {
  4.     matrix[i] = (int)(matrix[i] - 47);
  5. }

Suponiendo que quieres pasar de caracter a número. Donde matrix_length es la cantidad de elementos de la matriz.

  #5 (permalink)  
Antiguo 20/05/2013, 16:56
 
Fecha de Ingreso: julio-2012
Mensajes: 375
Antigüedad: 12 años, 5 meses
Puntos: 28
Respuesta: matrices en c de caracteres

No sé si en vez de 47 era 48...

Si algo te falla cambialo por 48 ;)
  #6 (permalink)  
Antiguo 21/05/2013, 12:46
 
Fecha de Ingreso: agosto-2012
Mensajes: 601
Antigüedad: 12 años, 3 meses
Puntos: 83
Respuesta: matrices en c de caracteres

O por el caracter '0' que tambien lo interpretara como su ascii (que es 48)

Código:
matrix[i] = (int)(matrix[i] - '0');
Saludos
vosk

Etiquetas: caracteres, matrices
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:40.