TRABAJO PRACTICO Nro 1

Reservas dinámicas - Arreglos de apuntadores - Lista simples ... en la parte inferior aparece una lista simple enlazada donde cada nodo (de tipo TNo-.
107KB Größe 8 Downloads 97 vistas
Taller de Lenguajes I – 2015 PROGR. UNIVERSITARIO / LICENCIATURA EN INFORMATICA Dictado: Ing. Juan Manuel Conti

TRABAJO PRACTICO Nro 3 Reservas dinámicas - Arreglos de apuntadores - Lista simples Problema 01 Un arreglo de bytes (unsigned char), debe poder almacenar una matriz cúbica de enteros de 3 dimensiones, con cada dimensión DIM=5, la cual será asignada con valores aleatorios en el rango 100, 999 con la siguiente característica: la diagonal principal (en rojo) sólo contendrá valores cuya suma de dígitos sea igual a 15 (para el resto no hay restricciones). Esta matriz será mostrada por pantalla. Un vector de apuntadores a enteros denominado Diag[ ] almacenará las direcciones de cada elemento de la diagonal principal y será utilizado en un paso final para mostrar a través de él la diagonal principal. NOTA: En todo momento deberá trabajar con la fórmula para direccionar cada elemento de la matriz dada en clase.

byte * M

k DIM DIM

j

DIM

i Diag[DIM ]

int *

int *

Trabajo Práctico Nro 3

Pág 1/2

Taller de Lenguajes I – 2015 PROGR. UNIVERSITARIO / LICENCIATURA EN INFORMATICA Dictado: Ing. Juan Manuel Conti Problema 02 En la siguiente estructura de datos: TMat

Mat[ ]

int * F F

int *

Dim1

Dim2 enteros

F

int *

TNodo Dim1

int *

Dim2

pMax

int *

TNodo Prox

Dim1

Dim2

pMax

TNodo * Start

en la parte inferior aparece una lista simple enlazada donde cada nodo (de tipo TNodo) consta de 4 miembros: Dim1 y Dim2 (enteros), que tomarán los siguientes valores aleatorios: Dim1 entre 5 y 10 Dim2 entre 4 y 12 pMax, que es un apuntador que señalizará la dirección del máximo valor almacenado en cada matriz dinámica. El total de matrices dinámicas es igual a la cantidad de nodos de la lista enlazada, o sea 3 (tres). En cambio Mat[ ] es un arreglo estático de apuntadores de tipo TMat, donde TMat es una estructura simple con un sólo miembro: F que es un puntero a int. La secuencia lógica para resolver este problema es creando cada nodo de la lista, dar valores aleatorios a Dim1 y Dim2, y entonces a través de ellos generar cada matriz dinámica. Obviamente como Dim1 y Dim2 son aleatorios, cada matriz tendrá diferentes dimensiones. Mostrar por pantalla c/matriz y su máximo correspondiente.

Trabajo Práctico Nro 3

Pág 2/2

Prox