Esercizi C/C++
a cura di Vincenzo Capuano
16 Novembre 2007
© Copyright 2007, Vincenzo Capuano
Questa è una raccolta di esercizi C/C++, elencati in base alla difficoltà. In tal caso si è cercato di dare la possibilità a tutti di avere un approccio minimale ed essenziale con il linguaggio e tutto quello che lo concerne. Gli esercizi proposti sono indicati per i corsi di Fondamenti di Informatica. Per ogni esercizio bisogna essere in grado di sviluppare il programma sia come programma principale che come sottoprogramma. Per ogni esercizio viene fornita una possibile soluzione.
Esercizio 1
Calcolare la media di n numeri.
(soluzione)
Esercizio 2
Realizzare una funzione per il calcolo del fattoriale di un numero intero positivo.
(soluzione)
Esercizio 3
Realizzare un convertitore, ad esempio lire/euro.
(soluzione)
Esercizio 4
Lettura e scrittura di un vettore o di una matrice.
(soluzione)
Esercizio 5
Scrivere un programma che controlla la frequenza degli elementi che hanno valore pari a 0 in una matrice assegnata. Restituire i rispettivi valori riga per riga.
(soluzione)
Esercizio 6
Realizzare una funzione che, dato un numero intero, verifichi se esso è un numero primo. Utilizzando poi la funzione appena realizzata, scrivere un programma che, dato un numero intero positivo, visualizzi a video tutti i numeri primi minori o uguali di quello dato.
(soluzione)
Esercizio 7
Ricerca di un elemento in vettore.
(soluzione)
Esercizio 8
Trasposta di una matrice secondo la diagonale principale e secondaria.
(soluzione)
Esercizio 9
Scrivere un programma che eguaglia un vettore ad un altro utilizzando i puntatori.
(soluzione)
Esercizio 10
Sviluppare una procedura che scambi i valori della riga i di una matrice con i valori della riga j (con i e j parametri della procedura). Sviluppare un programma principale che chiami la procedura.
(soluzione)
Esercizio 11
Scrivere un programma atto ad identificare nell'interno di una matrice generica se ci sono delle sotto-matrici 2x2 di soli valori nulli.
(soluzione)
Esercizio 12
Per un'assegnata matrice determinare la riga con la somma di elementi massima e quella con la somma minima. Effettuare lo scambio tra le righe precedentemente determinate.
(soluzione)
Esercizio 13
Considerando una matrice bidimensionale come rappresentativa dei punti della superficie di un quadrato, scrivere un programma per porre a 0 tutti i valori del perimetro del quadrato o di un quadrato in esso contenuto.
(soluzione)
Esercizio 14
Ordinamento di un vettore in modo crescente e decrescente.
(soluzione)
Esercizio 15
Assegnata una matrice quadrata, con indice dispari, ordinarla in modo crescente o decrescente, riscrivendola in modo elicoidale.
(soluzione)
Esercizio 16
Fusione di due vettori.
(soluzione)
Esercizio 17
Scrivere un programma per la ricerca di un elemento in una matrice assegnata e visualizzare a video la sua frequenza. Inoltre determinare il numero di volte che si ripete ogni numero.
(soluzione)
Esercizio 18
Scrivere un programma atto alla ricerca, in una matrice assegnata, delle righe aventi più elementi comuni per uno stesso indice di colonna.
(soluzione)
Esercizio 19
Siano assegnati da tastiera due vettori di interi vett1 e vett2 (max 50 elementi). Si progetti una funzione ALTERNA che riceva in ingresso i due vettori e restituisca un vettore vett3 costituito alternando gli elementi di vett1 e vett2. La funzione ALTERNA deve anche restituire come valore di ritorno la somma di tutti gli elementi del vettore vett3.
(soluzione)
Esercizio 20
Scrivere un programma che permetta all'utente di inserire un'intera frase. Il programma successivamente visualizzi il numero di parole che compone la frase. Si supponga che una frase sia costituita di parole, dove una parola è una sequenza di caratteri diversi dallo spazio delimitata da uno o più spazi a destra o a sinistra. Uno o più spazi possono anche aprire e chiudere la frase.
(soluzione)
Esercizio 21
Scrivere un programma atto a creare un file di testo.
(soluzione)
Esercizio 22
Scrivere un programma atto a contare gli spazi bianchi in un file di testo assegnato.
(soluzione)
Esercizio 23
Scrivere un programma atto al conteggio delle parole, delle lettere e delle linee di testo presenti in un file di testo assegnato.
(soluzione)
Esercizio 24
Calcolo della funzione esponenziale f(x)=e^x.
(soluzione)
Esercizio 25
Calcolare il valore del sin(x) con precisione assegnata mediante una serie numerica.
(soluzione)
Esercizio 26
Calcolo dell'integrale.
(soluzione)
Esercizio 27
Scrivere un programma che accetta in input un intero a 16 bit e stampi la stringa di bit che rappresenta l'intero stesso.
(soluzione)
Esercizio 28
Sviluppare un programma che risolve un sistema di equazioni la cui matrice associata è non singolare attraverso l'algoritmo dell'eliminazione di Gauss.
(soluzione)
Esercizio 29
Realizzare un programma che permetta all'utente di inserire un'intera frase. Il programma poi stampi tutte le vocali della frase.
(soluzione)
Esercizio 30
Trovare una parola assegnata all'interno di una stringa di caratteri.
(soluzione)
Esercizio 31
Si sviluppi un programma che, a partire da un stringa e da un carattere letti da tastiera determini il numero di parole che presentano il carattere consecutivamente ripetuto. Si ipotizzi che la stringa non contenga parole che abbiano più di due ripetizioni.
(soluzione)
Esercizio 32
A partire da un array di record, salvato su di un file qualsiasi, si effettuino ricerche per trovare degli elementi aventi uno specifico valore del campo del record. Scrivere una procedura che possa permettere all'utente di scrivere sul record e di aggiornare un campo specifico del record (ad esempio si può considerare una Rubrica o di Bulletin Board).
(soluzione)
Esercizio 33
Definire una classe convertitore, comprensiva di costruttore e distruttore, al fine di realizzare un convertitore di valute, ad esempio lire/euro. Per il programma si richiede la scrittura di almeno una funzione membro di calcolo, una di output e la definizione di uno o più campi privati ove memorizzare i dati, nonché la scrittura del main.
(soluzione)