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

[SOLUCIONADO] cambiar caracteres en una matriz

Estas en el tema de cambiar caracteres en una matriz en el foro de C/C++ en Foros del Web. Hola, escribo por una duda. Tengo un programa en C con una matriz de 50x50 llena de unos y ceros, y quiero recorrer la matriz ...
  #1 (permalink)  
Antiguo 14/02/2013, 06:33
 
Fecha de Ingreso: marzo-2010
Ubicación: Planeta Tierra
Mensajes: 22
Antigüedad: 14 años, 1 mes
Puntos: 2
Pregunta cambiar caracteres en una matriz

Hola, escribo por una duda.

Tengo un programa en C con una matriz de 50x50 llena de unos y ceros, y quiero recorrer la matriz para cambiar los ceros por espacios y los unos por asteriscos.

La parte del código donde recorro la matriz es la siguiente. He hecho dos ifs pero no sé si sería lo correcto.

Código:
for(f=0;f<50;i++){ //Filas
    for(c=0;c<50;c++){ //Columnas
        if(){
            //ceros
        }
        else if(){
            //unos
        }
    }
}
Muchas gracias por cualquier comentario que me pueda ayudar a aprender más sobre esto, un saludo.
  #2 (permalink)  
Antiguo 14/02/2013, 10:37
 
Fecha de Ingreso: julio-2012
Mensajes: 375
Antigüedad: 11 años, 9 meses
Puntos: 28
Respuesta: cambiar caracteres en una matriz

Código C++:
Ver original
  1. if(){
  2.     //ceros
  3. }
  4. else if(){
  5.     //unos
  6. }
Tendrás que poner algo en esos ifs?.

Código C++:
Ver original
  1. if (matriz[j][i] == 0)
  2. {
  3.             //ceros
  4. }
  5.  else if(matriz[j][i] == 1)
  6. {
  7.    //unos
  8. }
  #3 (permalink)  
Antiguo 14/02/2013, 12:38
 
Fecha de Ingreso: marzo-2010
Ubicación: Planeta Tierra
Mensajes: 22
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: cambiar caracteres en una matriz

Ya está solucionado, muchas gracias amchacon!

En mi caso la respuesta es la siguiente:
- Mis variables se llaman f (filas) y c (columnas).
- Mi matriz no se llama "matriz" sino tabla.

Código C:
Ver original
  1. for(f=0;f<50;f++){ //Filas
  2.     for(c=0;c<50;c++){ //Columnas
  3.         if(tabla[f][c] == 0){
  4.             printf(" ");    //Espacio
  5.         }
  6.         else if(tabla[f][c] == 1){
  7.             printf("*");   //Asterisco
  8.         }
  9.     }
  10. }

Lo dejo escrito por si a alguien le sirve en un futuro.
  #4 (permalink)  
Antiguo 14/02/2013, 13:22
Avatar de L3m0n  
Fecha de Ingreso: diciembre-2011
Mensajes: 219
Antigüedad: 12 años, 3 meses
Puntos: 46
Respuesta: cambiar caracteres en una matriz

Pero ahí no estas cambiando nada, simplemente imprimes espacios y asteriscos asi que la salida por pantalla sera algo extraño, no estas cambiando la matriz. Tendras que hacer lo mismo pero en vez de printf tendras que cambiar el caracter.
Código C:
Ver original
  1. if(tabla[f][c] == 0)
  2. {
  3.     tabla[f][c] = ' ';
  4. }
  5. else if(tabla[f][c] == 1)
  6. {
  7.     tabla[f][c] = '*';
  8. }
Y así cambias la matriz, luego si quieres la imprimes o haces lo que quieras, pero primero modificala.


Saludos
  #5 (permalink)  
Antiguo 18/02/2013, 13:27
 
Fecha de Ingreso: marzo-2010
Ubicación: Planeta Tierra
Mensajes: 22
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: cambiar caracteres en una matriz

Hola L3m0n,

La verdad es que sólo me interesa imprimir la matriz por pantalla con espacios y asteriscos, no modificarla, ya que si la modifico, en las siguientes operaciones que quiero hacer no tendré la matriz con ceros y unos, y la necesito sin modificar.

Aún así es una buena forma si la quisiera modificar. Ahora la pregunta es, ¿Estoy haciendo lo correcto imprimiendo? ¿Debería hacer una segunda matriz para modificarla y dejarla con '*' y ' '? ¿Vale eso la pena, o engrosa mucho el código?

Muchas gracias por tu respuesta, un saludo! :)

Etiquetas: caracteres, matriz, programa
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:08.