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

Como valido una matriz de 5x5, ingreso datos

Estas en el tema de Como valido una matriz de 5x5, ingreso datos en el foro de C/C++ en Foros del Web. El usuario ingresa coordenada de Fila y Columna, los numeros se generan de forma aleatoria. -Si le aparece un 0 (cero), mensaje "Salir"; -Si es ...
  #1 (permalink)  
Antiguo 28/10/2013, 07:12
 
Fecha de Ingreso: octubre-2011
Mensajes: 153
Antigüedad: 12 años, 6 meses
Puntos: 7
Como valido una matriz de 5x5, ingreso datos

El usuario ingresa coordenada de Fila y Columna, los numeros se generan de forma aleatoria.

-Si le aparece un 0 (cero), mensaje "Salir";
-Si es distinto de 0 (cero), mensaje "Continuar";
-Pero no se puede seleccionar la misma coordenada dos o mas veces

Me da error en el IF,
este es el codigo que tengo.

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. int main(){
  6.     int fila = 0;
  7.     int columna = 0;
  8.     int i = 0;
  9.     int j = 0;
  10.     int matriz[5][5];
  11.    
  12.     srand(time(NULL));
  13.    
  14.     printf("Ingrese fila:\n");
  15.     scanf("%d", & fila);
  16.    
  17.     printf("Ingrese Columna:\n");
  18.     scanf("%d", & columna);
  19.        
  20.     for (i=0;i<5;i++)
  21.     {
  22.         for (j=0;j<5;j++)
  23.         {
  24.             matriz[i][j]=0+rand()%(16-1);
  25.             printf("\t%d",matriz[i][j])
  26.            
  27.             /*valido que lo seleccionado sea distinto de cero  */
  28.             if(matriz[i][j] == 0){
  29.                 printf("Salir");
  30.             }else{
  31.                 printf("continuar");
  32.             }
  33.            
  34.             /*valido el usuario no repita el mismo ingreso dos veces  */
  35.        
  36.            
  37.         }
  38.         printf("\n\n");
  39.     }
  40.    
  41.    
  42.     return 0;
  43.    
  44. }
__________________
Mi mail: [email protected]
  #2 (permalink)  
Antiguo 28/10/2013, 12:47
 
Fecha de Ingreso: agosto-2012
Mensajes: 601
Antigüedad: 11 años, 8 meses
Puntos: 83
Respuesta: Como valido una matriz de 5x5, ingreso datos

No he mirado el funcionamiento, pero te comento que en la linea 23 te has saltado el ultimo punto y coma

Saludos
vosk
  #3 (permalink)  
Antiguo 28/10/2013, 14:04
Avatar de L3m0n  
Fecha de Ingreso: diciembre-2011
Mensajes: 219
Antigüedad: 12 años, 4 meses
Puntos: 46
Respuesta: Como valido una matriz de 5x5, ingreso datos

Cita:
Iniciado por vosk Ver Mensaje
No he mirado el funcionamiento, pero te comento que en la linea 23 te has saltado el ultimo punto y coma

Saludos
vosk
En la 25 :P
  #4 (permalink)  
Antiguo 28/10/2013, 14:14
 
Fecha de Ingreso: agosto-2012
Mensajes: 601
Antigüedad: 11 años, 8 meses
Puntos: 83
Respuesta: Como valido una matriz de 5x5, ingreso datos

Vaya fallo, gracias L3m0n; lo he echo adrede para ver si estabais dormidos :))

Saludos
vosk
  #5 (permalink)  
Antiguo 01/11/2013, 02:33
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 6 meses
Puntos: 38
Respuesta: Como valido una matriz de 5x5, ingreso datos

exacto, los compiladores no son seres tan inteligentes XDD ¡o si!
As veces cuando te dice un error en una linea... mirar la linea anterior XDD
  #6 (permalink)  
Antiguo 01/11/2013, 10:08
 
Fecha de Ingreso: agosto-2012
Mensajes: 601
Antigüedad: 11 años, 8 meses
Puntos: 83
Respuesta: Como valido una matriz de 5x5, ingreso datos

Un momento que me explico: copie el codigo al editor, lo reindenté con el plugin de codeblocks de formato noseque y reorganizó un par de {, con eso se comprimieron lineas y en el resultado el punto y coma faltaba en la linea 23 que en el codigo colgado equivalia a la 25, y como no me di cuenta pues asi salido la respuesta.

Por cierto, el error lo marca en la linea 28 porque el 'if' no puede operar con el retorno entero de la funcion printf, es decir:

Código C:
Ver original
  1. //esto es correcto, otra cosa es que esté mal indentado
  2. printf("tal cosa")
  3. + 4;

Código C:
Ver original
  1. //pero esto no porque no son operables
  2. printf("tal cosa")
  3. if(condicion) {}

De echo seguramente el compilador al detectar dos expresiones no operables te comentará que despues de la primera falta un punto y coma, pero eso no significa que el error sea que olvidaste el ; sino que tienes que revisar la relacion entre las dos expresiones.

Saludos
vosk

Etiquetas: ingreso, int, matriz, numero
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 10:39.