[ Foro de Pascal ]
buenas a todos quiero una orientacion no el programa para el siguiente planteamiento,
Dada una matriz A de enteros de NxM posiciones, donde el valor de M es par, se desea que realice lo siguiente
Por fila, intercambie el valor de la 1era columna con el valor de la M-esima columna, el valor de la 2da columna con el de la M-1 columna, y así sucesivamente, tantas veces como lo indique el valor de la penúltima posición de la fila
gracias , dios los bendiga es para preparar mi examen de matrices
¿Cual es la duda? Para asegurarte de que tienes claros los fundamentos, piensa por un momento en una versión simplificada del mismo problema: en una matriz 1xM, ¿cómo harías para intercambiar el primer dato y el último?
profesor la verdad es que no entiendo de que va el ejercicio , podias plasmarmelo a traves de un ejemplo es que desde el inicio no entiendo que es lo que se me pide, podrias explicarme en palabras o en un ejemplo numerico que es lo que se pide, gracias profesor
Parece que te pidan, a partir de datos como
9 8 1 5 3 4 2 6
intercambiar el primer dato (9) con el último (6), luego el segundo (8) con el penúltimo (2) y así sucesivamente, tantas veces como se te indique. La cantidad de veces a intercambiar está en el penúltimo valor, luego en este caso serían 2 intercambios y ya habrías terminado.
buenas noches
profesor ok pero y como con un ciclo puedo capturar ese valor del penuntimo valor?
se lo agradezco muchisimo.
buenas noches
profesor ok pero y como con un ciclo puedo capturar ese valor del penuntimo valor?
se lo agradezco muchisimo.
Faltan detalles de como está creada esa matriz, pero en principio, podrías hacer algo como
inicial := 1;
final := cantidad-1;
repeat
(* ... *)
inc(inicial);
dec(final);
until (* ... *)
Es decir, tu primera posición es la 1 y la última que vas a mirar es la "cantidad-1" (o la que proceda). Tras cada pasada incrementas la inicial y disminuyes la final.
ok profesor y cual seria la condicion del until,?
gracias por tu ayuda
Depende de como lo plantees. Para mí, lo más natural es usar un contador que vaya aumentando, y en ese caso deberás comprobar si tu contador coincide ya con la cantidad de veces (que estaba almacenada en el penúltimo dato):
until inicial = limite;
(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.)