Saludos, si tengo una matriz en C, en la cual tengo que posicionarme en alguna de las casillas( le pido la fila y la columna al usuario), y despues a apartir de esa casilla quiero moverme x numero de celdas en el eje de las filas y x numero de celdas en el eje de las columnas, ¿Cual es a manera correcta de validar que la nueva posicion en la que me encuentro es una celda valida para que no se desborde el arreglo???,podria ser algo como esto?
Donde total_filas y total_columnas son las dimensiones de la matriz, fila y col son la fila y columna donde se encuentra actualmente el usuario y x son el numero de filas y columnas que se mueve. Si devuelve 1 es que la nueva posición es correcta y 0 en caso contrario.
Ya que el resultado de los operadores relacionales y lógicos es uno si se cumple la condición y cero en caso contrario puedes reducir la función a:
Código
int VerificarCelda(int total_filas,int total_columnas,int fila,int col,int x)
{
return fila + x < total_filas && col + x < total_columnas;
}
Un saludo
En línea
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language