Esercitazione 1 - Allocazione dinamica della memoria

Scopo: capire l’allocazione dinamica della memoria

 

Istruzioni:

Leggere con attenzione l’esercizio 1 proposto nel file pdf allegato.

Creare un documento con nome del tipo Gruppo08-BruzzoneParodi-AllocazioneDinamica.doc e inserire all’inizio i propri dati (stile relazione).

Copiare il programma con la soluzione in devC++ e verificare che funzioni, eventualmente apportare le necessarie modifiche. Documentare per ognuna di esse le motivazioni e la soluzione.

Soddisfare poi le prime tre delle seguenti richieste.

Al termine delle due ore salvare il lavoro su k e inviarlo al docente via email.

Il lavoro verrà valutato.

Nel caso non si riuscisse a portare a termine il lavoro delle tre richieste svolgerle a casa e inviare la soluzione via mail al docente entro domani sera.

  

Richieste:

1. Modificare il main in modo da chiedere per prima cosa quanti numeri devono essere inseriti e dimensionare il vettore di conseguenza. Sostituire l’inserimento manuale con la creazione automatica del numero corretto di valori casuali, sempre uguali ad ogni esecuzione. 

2. Realizzare la funzione copia che riceve un puntatore ad array e la sua dimensione e restituisce un puntatore ad una copia dell'array. Sostituirle la chiamata nel main. Funziona? 

3. Analizzare bene le tre funzioni (scambia, selectMax e sort) e documentare. 

4. Realizzare analoghe funzioni che lavorano su vettori di float anziché di int. Modificare il main aggiungendo codice per provarle. 

5. Sostituire l'algoritmo di sort per gli array di float con insertion sort al posto di selection sort. 

6. Definire una struct Temperatura che contiene una descrizione e un valore (ad esempio "Genova" e 24). Rifare le funzioni per usare un array di Misura al posto di int o float. Aggiungere una parte di prova al main. 

7. Modificare il programma in modo da mantenere il vettore sempre ordinato (cioè, ad ogni nuovo valore ricevuto, fare in modo che sia inserito nella posizione tale da mantenere il vettore ordinato). 

 


Ultime modifiche: mercoledì, 3 ottobre 2018, 14:34