Programación General > Pascal

 pascal

(1/1)

antonelladiaz:
tengo problemas con una matriz10*12 me piden q escriba una matriz de números aleatorios entre100y999,y luego me pide q detecte los números que terminan en2.ya genere la matriz con sus respectivos números y se q debo usar dividir el numero en 10 y si este es 2 escribirlo.mi problema es q no se donde escribir la sentencia if,ya q si la pongo antes del de terminar de escribirla matriz se desordena, sino no lo tiene en cuenta.desde ya muchas gracias.

Enko:

--- Cita de: "antonelladiaz" ---tengo problemas con una matriz10*12 me piden q escriba una matriz de números aleatorios entre100y999,y luego me pide q detecte los números que terminan en2.ya genere la matriz con sus respectivos números y se q debo usar dividir el numero en 10 y si este es 2 escribirlo.mi problema es q no se donde escribir la sentencia if,ya q si la pongo antes del de terminar de escribirla matriz se desordena, sino no lo tiene en cuenta.desde ya muchas gracias.
--- Fin de la cita ---
Es tan sencillo como tener 2 rutinas.

La primera que inicializa la matriz con los valores aleatorios. Y la segunda que recorre la matriz en busqueda de numeros pares.

Enko:

--- Cita de: "antonelladiaz" ---tengo problemas con una matriz10*12 me piden q escriba una matriz de números aleatorios entre100y999,y luego me pide q detecte los números que terminan en2.ya genere la matriz con sus respectivos números y se q debo usar dividir el numero en 10 y si este es 2 escribirlo.mi problema es q no se donde escribir la sentencia if,ya q si la pongo antes del de terminar de escribirla matriz se desordena, sino no lo tiene en cuenta.desde ya muchas gracias.
--- Fin de la cita ---
Es tan sencillo como tener 2 rutinas.

La primera que inicializa la matriz con los valores aleatorios. Y la segunda que recorre la matriz en busqueda de numeros pares. No hace falta hacer todo en una sola recorida.

Angelfsg:
Muy sencillo, una vez que tienes todos los huecos de la matriz rellenos, haces dos bucles anidados (uno para cada fila de la matriz), quedándote algo similar a esto:


--- Código: Pascal ---VAR   i, j, division: INTEGER;   ... BEGIN   ...   ...   ...   FOR i:= 1 TO 10 DO      FOR j:= 1 TO 12 DO         BEGIN            division:= matriz[i, j] DIV 10;            IF matriz[i, j] MOD 10 = 2 THEN               writeln(matriz[i, j]);         END; END.
Es un algoritmo que se puede hacer de forma mucho más eficiente y modular, pero la idea es esta ;)
un saludo.

Navegación

[0] Índice de Mensajes

Ir a la versión completa