[ Foro de Pascal ]
hola buenas, soy nueva en esto de la programacion y buscando ayuda encontre este foro esper puedan ayudarme en mi problema.
necesito leer una matriz de 2xN ( 2 filas y N columnas), pero debe cumplirse que la primera fila este formada por enteros positivos y la segunda por enteros entre 1 y N,
Normalmente he leido por teclado matrices con valores que introduce el usuario, de esta forma
for i:=1 to M do
for j:=1 to N do
begin
write('elemento[', i, ' ',j, ']: ');
readln(A[i,j]);
end;
pero claro asi como me lo pide el programa no se como hacerlo pues para cada fila especifica un contenido de valores diferentes, espero puedan ayudarme.desde caracas, venezuela gracias
Me refiero a como validar para que tanto la primera y segunda fila cumplan con lo requerido, gracias
Cada "readLn" debería estar encerrado en un "repeat..until" que no permita salir hasta que el valor sea aceptable.
Por ejemplo, si los valores debieran estar entre 10 y, 15 podrías hacer:
repeat
readln(A[i,j]);
until (A[i,j] >= 10) and (A[i,j] <= 15);
(lo habitual es incluir también un "if" que avise al usuario de que ha introducido un dato incorrecto, de modo que el programa resulte más amigable.
ok profesor, pero y si la matriz fuera de mas filas, en ese caso seria conveniente un case por cada valor de i, o habria una forma mas compacta o reducida de hacerlo, imaginate si la matriz fuera de 4 filas, como podria hacer para cada pasada de i que se manejaran condiciones distintas para cada fila o necesariamente tendria que hacerse a traves de if o de case para cada pasada del for i??? gracias por tu respuesta y ayuda
No necesitas ningún "case". Es simplemente un "if" (muy similar al "until"), que diga algo como "El valor introducido no es correcto, debe estar entre 1 y N", para que el usuario entienda por qué se le vuelve a pedir que lo introduzca.
Ese "repeat" no es más que una "entrada de datos mejorada", así que en tu programa original iría dentro del doble "for" anidado.
ah ok profesor ahora lo entiendo gracias.muy bueno el foro, he leido que inicias un nuevo curso y quiero unirme a el que debo hacer? me gustaria saber si vas a tocar el tema de graficos pues al final de curso el proyecto sera un juego grafico, vas a realizar algun juego en el curso, seria interesante, dicen que a traves de juegos se aprende a programar mucho.espero noticias gracias
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)