TRABAJO PRACTICO Nro 1

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 ...
162KB Größe 7 Downloads 87 vistas
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.

Trabajo Práctico Nro 4

Pág 3/3