Esercizi per la lezione 1
Contents
Esercizi per la lezione 1¶
Esercizio 1.1¶
Scrivere un programma che assegni il valore di una variabile ad un’altra utilizzando un puntatore. Stampare inoltre a terminale i valori e gli indirizzi di ogni variabile prima e dopo l’assegnazione.
Esercizio 1.2¶
Dichiarare un puntatore e poi cercare di assegnargli direttamente un valore numerico. Cosa succede? Perché?
Esercizio 1.3¶
Utilizzare new e delete per creare e distruggere una variabile double ed un array di double.
Esercizio 1.4¶
Realizzare una funzione che risolva un’equazione di secondo grado: ax2 + bx + c = 0. La funzione deve rendere disponibile il risultato al programma che la chiama.
Il prototipo della funzione deve essere:
bool solve2ndDegree (double * par, double * x) ;
La funzione deve restituire una variabile
bool (true/false)
a seconda che esistano o meno soluzioni reali dell’equazioneLa funzione riceve in input due puntatori a double:
double * par
serve per passare l’array dei coefficientidouble * x
è l’indirizzo di un array in cui salvare le soluzioni dell’equazione
Esercizio 1.5¶
Rifare l’esercizio su media/varianza della lezione di ripasso realizzando un’unica funzione che le calcoli entrambe, facendo opportuno uso puntatori o referenze.
Esercizio 1.6¶
Scrivere una funzione che, dato un array di N interi, lo ordini dal più piccolo al più grande (suggerimento: creare un array inserendo alcuni numeri a caso per testare che l’ordinamento funzioni).
Il prototipo della funzione deve essere:
void SortArray (double * myArray, int dim) ;
Esercizio 1.7¶
Scrivere una funzione creaArray (...)
che prenda in input un numero intero,
crei un array di tipo float
lungo quando il numero intero di input
e restituisca il puntatore al primo elemento dell’array.