Pascal/Turbo Pascal - ayuda en practica sobre listas con punteros

 
Vista:

ayuda en practica sobre listas con punteros

Publicado por jnandezz (6 intervenciones) el 13/05/2003 17:26:19
Bueno, pues tengo una duda a la hora de hacer un procedimiento.
Para que no halla duda mas o menos explico q necesito ahcer. Tengo hacer un TAD, con una serie de operaciones. Una de ellas es la siguiente:
La estructura q tienen los datos es la siguiente:
TYPE
enteroPositivo=0..N;
TMatriz=^Elemento;
Elemento=RECORD
campo1,campo2,campo3:enteroPositivo;
sig:tmatriz;
END;

El procedimiento en cuestion dice lo siguiente: recibiendo como parametros una matriz bidireccional perteneciente al tipo anterior y tres numeros enteros, F, C, y V, y asigne el valor V a la posicion dada por la fila F y la columna C. SI la fila y/o la columna sobrepasasen las dimensiones actuales d la matriz, se debera asignar el valor V a una posicion de la matriz dad por F y C, rellenandose con ceros el resto de posiciones hasta completar las F filas, y las C columnas, se tratara por tanto d una matriz dinamica.
A ver si alguien puede echarme una mano, porque tengo un código, pero falla. Si alguien puede echarme una mano, q conteste, o me mande un mail, a [email protected]
Muchas gracias.

Un saludo
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:ayuda en practica sobre listas con punteros

Publicado por Diego Romero (786 intervenciones) el 13/05/2003 21:03:37
Entiendo que lo que tienes que implementar es una "lista de listas", es decir tienes una lista donde cada nodo a su vez apunta a una lista.
Para implentar esto supongo que primero debes crear la "lista de origen" que sería una estructura más o menos como esta:
PLista=^TNodo;
TNodo=record
Dato: Integer;
sig, ant: PLista;
end;

PListaOrigen=^TListaOrigen;

TListaOrigen=record
Pos: word;
Lista: PLista;
Sig, Ant: PListaOrigen;
end;

El campo PLista de TListaOrigen apuntaría al primero de la Lista definida por TNodo.
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:ayuda en practica sobre listas con punteros

Publicado por jnandezz (6 intervenciones) el 14/05/2003 15:43:40
Umm, quizas me explique mal. El titulo lo puse mal. Tengo q trabajar con matrices. Y solo puedo utilizar la estructura de datos que puse.
Es decir, tengo q realizar ese procedimiento con esos tipos.
Viendo un ejemplo , si tuviera esta matriz 2, 5, 6
1, 6, 4
Y quisiera poner el valor 7 en la posicion (4,5) (Fila=4, Col=5), el resultado tendria q ser:
2, 5, 6, 0, 0
1, 6, 4, 0, 0
0, 0, 0, 0, 0
0, 0, 0, 0, 7
Lo veis asi mejor?? A ver si me echais un cable. Y gracias por contestar
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:ayuda en practica sobre listas con punteros

Publicado por Diego Romero (786 intervenciones) el 14/05/2003 19:35:19
Ahora no entiendo. Con la estructura de datos que muestras Y SOLO ESA no se puede hacer pues en ninguna parte tienes referencia de dónde empieza la "matriz" ni dónde termina ni de la dimensión actual de esa "matriz".
Interpreto que lo que tu llamas matriz es un vector bidimencional organizado en filas y columnas, si cada posición de esa matriz contiene la estructura que menscionas ¿cuál es la definición de la matriz?. ¿Es una tal como esta?:
TTMatriz=Array[1..N, 1..N] of TMatriz;
Si es así, imposible, pues TTMatriz es una estructura estatica.
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:ayuda en practica sobre listas con punteros

Publicado por jnandezz (6 intervenciones) el 15/05/2003 12:11:42
Digamos q los datos Type
enteropositivo=0..N;
tmatriz=^elemento;
elemento=RECORD
Campo1,campo2,campo3:enteropositivo
sig:tmatriz;
END;
Estos datos "simularian" una matriz. Es decir, si declarara matriz:tmatriz; El puntero matriz apuntaria a campo1(es decir la fila), campo2,(es decir Col), campo3( el valor q esta en esa fila y esa columna), y sig, q a su vez apunta a otra estructura del mismo tipo. (el ultimo sig apuntara a NIL).
Lo q yo intente hacer es lo siguiente. Como no es lo mismo tener q añadir una fila, o tener q añadir una columna, o tener q añadir ambas, intente hacer un procedimiento q añadiera filas,y otro para las columnas.
Pero no consigo q lo haga correctamente.
La practica es mas larga, pero primero tengo q implementar ese procedimiento en el TAD, para poder seguir con lo demas.

Un saludo, y gracias
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:ayuda en practica sobre listas con punteros

Publicado por miguel (46 intervenciones) el 15/05/2003 13:39:04
Yo si te comprendo, es la misma práctica que tengo que hacer yo, o por lo menos lo que has dicho es igual.
Algo de esto lo he visto en una practica de alguien de León (España), y en mi practica de Madrid (España).

Dirigete a mi dirección de correo, y te contesto. Si eres de Madrid, serás de la misma universidad, así que podemos quedar un día presencialmente, y te contesto a tus dudas. Mi práctica ya está hecha.
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