Un segundo puntero doble a enteros creará un vector de apuntadores simples cuya misión es la siguiente: • El apuntador del primer domicilio señalará la ...
Taller de Lenguajes I – 2013 PROGRAMADOR UNIVERSITARIO / LICENCIATURA EN INFORMATICA Dictado: Ing. Juan Manuel Conti
TRABAJO PRACTICO Nro 4 Apuntadores dobles.
Problema 1 En la siguiente estructura de datos: (int **)
DIM2
(int **)
pTerm
M DIM1
MEMORIA DINAMICA
valiéndose de un apuntador doble Ud. debe generar una matriz dinámica de enteros de 10 x 13 (10 filas x 13 columnas), y asignarle valores aleatorios en el rango 100, 999 mostrándola a continuación por pantalla. Un segundo puntero doble a enteros creará un vector de apuntadores simples cuya misión es la siguiente:
El apuntador del primer domicilio señalará la dirección del primer elemento de la matriz cuya suma del primer y último digitos sea igual a 4. El apuntador del segundo domicilio hará algo idéntico pero para una suma igual a 5. Así sucesivamente hasta el apuntador del último domicilio que señalará para una suma igual a 12.
Esto implicaría que el vector de direcciones para pTerm tendrá 9 domicilios. Finalmente muestre por pantalla y en una sola línea los valores obtenidos (no las direcciones) para esta segunda parte del problema.
Trabajo Práctico Nro 4
Pág 1/3
Taller de Lenguajes I – 2013 PROGRAMADOR UNIVERSITARIO / LICENCIATURA EN INFORMATICA Dictado: Ing. Juan Manuel Conti Problema 2 En la siguiente estructura de datos: (int **)
DIM X DIM2 ENTEROS (int *)
M
(int *)
[1]
16 apuntadores [2]
(int *)
[3]
(int *)
pSuma Total [0]
[ ...... ]
[5]
16 apuntadores (int *)
(int *) pDiv Total [1]
16 apuntadores
[2]
(int *) pPrim Total
MEMORIA
DINAMICA
El puntero doble a enteros M, crea un arreglo de apuntadores a int que señalarán el inicio de distintas reservas:
El domicilio M[0] almacenará la dirección de una reserva de int suficiente para generar una matriz de DIM1=10 x DIM2=12 domicilios con valores de 100 a 999. El del domicilio M[1] indicará un arreglo de estructura de tipo TSuma que posee 2 miembros: pSuma y Total. El primero es un arreglo de 16 domicilios que contiene apuntadores a int que indicarán la posición de aquellos elementos cuya suma del primero y último dígito valga 4 (apuntadores del domicilio [0]). Los apuntadores del domicilio [1] indicarán la posición de aquellos elementos de la
Trabajo Práctico Nro 4
Pág 2/3
Taller de Lenguajes I – 2013 PROGRAMADOR UNIVERSITARIO / LICENCIATURA EN INFORMATICA Dictado: Ing. Juan Manuel Conti
matriz que sumen 5, y así sucesivamente hasta el último que señalará elementos de suma 9. El domicilio M[2] señalará un arreglo dinámico de configuración similar al anterior, pero cuyos apuntadores indicarán ahora la dirección de aquellos elementos de la matriz que sean divisibles por 3, 5 y 9 respectivamente. Por último, el domicilio M[3] sólo indicará la ubicación de una estructura aislada para señalizar la ubicación de números primos.
En pantalla se mostrarán: La matriz de enteros (en forma matricial). Los valores (no las direcciones) que sumen 4, 5,....,etc. Los valores (no las direcciones) que sean divisibles en 3,5 y 9. Los valores (no las direcciones) que sean números primos. A los fines de simplicidad y claridad se sugiere trabajar en forma detallada de la siguiente manera: Realizar todas las reservas dinámicas. Inicializar todas las estructuras (apuntadores a NULL y Total a 0). Cargar las direcciones para los que suman 4, 5, .... , 9. Cargar las direcciones para los divisibles en 3, 5 y 9. Cargar las direcciones para los primos. Mostrar la matriz. Mostrar los valores que sumen .... Etc.