Pascal/Turbo Pascal - Matriz dinamica

   
Vista:

Matriz dinamica

Publicado por David (9 intervenciones) el 01/02/2010 20:56:35
Hola a todos!! Estoy realizando algunos ejercicios en lenguaje pascal y me a surgido una duda : ¿Cómo puedo pedir al usuario que me introduzca el tamaño de una matriz cuadrada n x n , y que luego posteriormente decirle que meta los datos de la matriz? Es decir, una matriz dinamica. Luego aparte te pide mas cosas sobre volteos y giros, pero en eso me defiendo, yo es que hasta ahora lo había hecho con matrices definidas, pero con dinamicas no se hacerlo, si alguien me puede decir como hacerlo le seria agradecido.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Matriz dinamica

Publicado por Diego Romero (997 intervenciones) el 02/02/2010 00:04:32
No existe tal cosa como "matriz dinámica" en Pascal.

Lo que puedes hacer es definir una matriz grande y controlar que el usuario no introduzca un tamaño mayor que esa misma matriz.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Matriz dinamica

Publicado por juan (44 intervenciones) el 02/02/2010 02:56:35
asi es la estructura de datos de matriz dinamica no existe en pascal.
Encaralo con una Lista de Lista.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Matriz dinamica

Publicado por David (9 intervenciones) el 02/02/2010 09:16:52
¿Como?
A ver el ejercicio me dice:

Crea un procedimiento llamado girarH y otro girarV, para voltear la matriz horizontalmente y verticalmente. Los procedimiento recibirán como único parámetro una matriz de números enteros. El resultado, la matriz girada, se guardará en el mismo parámetro, por lo que el paso deberá realizarse por referencia.
Una vez hecho esto debes multiplicar la matriz girarH por la matriz girarV.
Tanto la dimensión de la matriz como los elementos de esta se pedirán al usuario por teclado. Por pantalla, el programa mostrará, de forma tabulada, la matriz original ,las matrices giradas y la multiplicación de las matrices.

Esto es el enunciado del ejercicio y lo que quiero saber es como pedir la dimension de la matriz y luego los datos de la matriz, para una matriz 4 x 4 lo sabría hacer o para otro tipo definido , pero para una matriz n x n no sé como debo definirla.
Creo que sabiendo esto, el resto del ejercicio lo puedo sacar.

Muchas gracias por haberme respondido y si me pudieseis decir como sería ese codigo o algo, gracias de nuevo.
Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Matriz dinamica

Publicado por Diego Romero (997 intervenciones) el 02/02/2010 16:46:49
Como he dicho ya, declara una matriz grande, digamos de 20 x 20.

type
TMatriz=Array[1..20,1..20] of integer;

Y luego pídele al usuario las dimensiones con las que quiere trabajar:

var
Matriz: TMatriz;
X, Y: integer;
begin
repeat
Write('Ingrese ancho: ');
ReadLn(X);
if X > 20 then
WriteLn('Demasiado grande.');
until X <= 20;
repeat
Write('Ingrese alto: ');
ReadLn(Y);
if Y > 20 then
WriteLn('Demasiado grande.');
until Y <= 20;
...

X e Y serán tus límites de la matriz.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Matriz dinamica

Publicado por Dany (1 intervención) el 02/06/2013 02:01:40
Hola me puedes ayudar a hacer un programa en pascal es que no puedo usarlo! xfavor.:3
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Matriz dinamica

Publicado por ramon (2072 intervenciones) el 02/06/2013 19:58:50
Abre otra consulta y pon lo que quieres así podremos ayudar te sabiendo lo que quieres.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar