SoloCodigo

Programación General => Pascal => Mensaje iniciado por: antonelladiaz en Viernes 25 de Febrero de 2011, 02:16

Título: pascal
Publicado por: antonelladiaz en Viernes 25 de Febrero de 2011, 02:16
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.
Título: Re: pascal
Publicado por: Enko en Domingo 19 de Junio de 2011, 00:05
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.
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.
Título: Re: pascal
Publicado por: Enko en Domingo 19 de Junio de 2011, 00:05
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.
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.
Título: Re:pascal
Publicado por: Angelfsg en Martes 16 de Agosto de 2011, 16:34
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
  1. VAR
  2.    i, j, division: INTEGER;
  3.    ...
  4.  
  5. BEGIN
  6.    ...
  7.    ...
  8.    ...
  9.    FOR i:= 1 TO 10 DO
  10.       FOR j:= 1 TO 12 DO
  11.          BEGIN
  12.             division:= matriz[i, j] DIV 10;
  13.             IF matriz[i, j] MOD 10 = 2 THEN
  14.                writeln(matriz[i, j]);
  15.          END;
  16. END.

Es un algoritmo que se puede hacer de forma mucho más eficiente y modular, pero la idea es esta ;)
un saludo.