Alcuni esercizi sui puntatori per riepilogare quello che abbiamo visto finora
int * faiQualcosa(int *a, int *b) {
if (a>b) return a; else return b;
}
int main() {
// intanto nel main() ...
int fabio = 5, michele = 12, *chi;
chi = faiQualcosa(&fabio, &michele);
cout << * chi; // Cosa stamperà?
}
Attività
Cosa stamperà l'esempio scritto sopra? (scrivili nei commenti del programma)
Riempi un vettore vi di 5 interi. Utilizza un puntatore pi, invece che la solita notazione vi[num], per mostrare i 5 valori inseriti. Aiutati con un disegno se necessario.
Fai inserire una frase in un array di 50 caratteri, stampa tutte le lettere utilizzando e incrementando un puntatore a carattere.
Fai inserire una frase in un array di 50 caratteri. Poi chiedi una posizione e elimina quella lettera dall’array facendo lo shift a sinistra. Se inserisco “buona notte” e poi inserisco 7 la frase diventa “buona ntte” e viene eliminata la o.
Crea e usa questa funzione nel main stampando il risultato: void divisione (int a, int b, int *pQ, int *pR);: calcola quoziente e resto della divisione tra a e b
Crea e usa questa funzione nel main stampando il risultato: int * maggiore (const int *pA, const int *pB);: ritorna il puntatore al valore maggiore (NULL se sono uguali)