Ecco degli esercizi semplici con soluzione per praticare le basi dei pointer in C++.
Esercizio 1
Dichiarare un puntatore a interi e assegnargli l'indirizzo di una variabile intera. Successivamente, stampare il valore della variabile tramite il puntatore.
#include <iostream>using namespace std;
int main() { int numero = 10; int* puntatore = №
cout << "Valore della variabile: " << *puntatore << endl;
return 0;}
Esercizio 2
Dichiarare un puntatore a caratteri e assegnargli l'indirizzo di una stringa. Successivamente, stampare la stringa tramite il puntatore.
#include <iostream>using namespace std;
int main() { char* puntatore; char stringa[] = "Ciao Mondo"; puntatore = stringa;
cout << "Stringa: " << puntatore << endl;
return 0;}
Esercizio 3
Dichiarare un puntatore a float e assegnargli l'indirizzo di un array di float. Successivamente, calcolare la somma degli elementi dell'array tramite il puntatore.
#include <iostream>using namespace std;
int main() { float array[] = {2.5, 3.7, 1.2, 5.9, 4.3}; float* puntatore = array; float somma = 0;
for (int i = 0; i < 5; i++) { somma += *(puntatore + i); }
cout << "Somma degli elementi dell'array: " << somma << endl;
return 0;}
Esercizio 4
Dichiarare un puntatore a interi e assegnargli l'indirizzo di una variabile intera. Incrementare il valore della variabile tramite il puntatore e stamparne il risultato.
#include <iostream>using namespace std;
int main() { int numero = 5; int* puntatore = №
(*puntatore)++;
cout << "Nuovo valore della variabile: " << numero << endl;
return 0;}
Esercizio 5
Dichiarare un puntatore a interi e assegnargli l'indirizzo di una variabile intera. Moltiplicare il valore della variabile per 2 tramite il puntatore e stamparne il risultato.
#include <iostream>using namespace std;
int main() { int numero = 8; int* puntatore = №
*puntatore *= 2;
cout << "Nuovo valore della variabile: " << numero << endl;
return 0;}
Esercizio 6
Dichiarare un puntatore a caratteri e assegnargli l'indirizzo di una stringa. Stampare la lunghezza della stringa tramite il puntatore.
#include <iostream>#include <cstring>using namespace std;
int main() { char* puntatore; char stringa[] = "Hello"; puntatore = stringa;
int lunghezza = strlen(puntatore);
cout << "Lunghezza della stringa: " << lunghezza << endl;
return 0;}
Esercizio 7
Dichiarare un puntatore a interi e assegnargli l'indirizzo di una variabile intera. Chiedere all'utente di inserire un nuovo valore tramite il puntatore e stampare il nuovo valore della variabile.
#include <iostream>using namespace std;
int main() { int numero = 10; int* puntatore = №
cout << "Inserisci un nuovo valore: "; cin >> *puntatore;
cout << "Nuovo valore della variabile: " << numero << endl;
return 0;}
Esercizio 8
Dichiarare un puntatore a float e assegnargli l'indirizzo di una variabile float. Stampare il valore della variabile tramite il puntatore con una precisione di due decimali.
#include <iostream>#include <iomanip>using namespace std;
int main() { float valore = 3.14159; float* puntatore = &valore;
cout << "Valore della variabile: " << fixed << setprecision(2) << *puntatore << endl;
return 0;}
Esercizio 9
Dichiarare un puntatore a int e assegnargli l'indirizzo di un array di interi. Stampare gli elementi dell'array tramite il puntatore utilizzando un ciclo while.
#include <iostream>using namespace std;
int main() { int array[] = {1, 2, 3, 4, 5}; int* puntatore = array;
int i = 0; while (i < 5) { cout << "Elemento " << i + 1 << ": " << *(puntatore + i) << endl; i++; }
return 0;}
Esercizio 10
Dichiarare un puntatore a un array di caratteri e assegnargli l'indirizzo di una stringa. Verificare se la stringa è vuota tramite il puntatore e stampare un messaggio di conseguenza.
#include <iostream>using namespace std;
int main() { char stringa[] = ""; char* puntatore = stringa;
if (*puntatore == '\0') { cout << "La stringa è vuota." << endl; } else { cout << "La stringa non è vuota." << endl; }
return 0;}