• Jueves 18 de Abril de 2024, 18:35

Autor Tema:  pascal  (Leído 2652 veces)

antonelladiaz

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
pascal
« en: Viernes 25 de Febrero de 2011, 02:16 »
0
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

  • Miembro de PLATA
  • *****
  • Mensajes: 1562
  • Nacionalidad: 00
    • Ver Perfil
Re: pascal
« Respuesta #1 en: Domingo 19 de Junio de 2011, 00:05 »
0
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.

Enko

  • Miembro de PLATA
  • *****
  • Mensajes: 1562
  • Nacionalidad: 00
    • Ver Perfil
Re: pascal
« Respuesta #2 en: Domingo 19 de Junio de 2011, 00:05 »
0
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.

Angelfsg

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re:pascal
« Respuesta #3 en: Martes 16 de Agosto de 2011, 16:34 »
0
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.