//-------------------------------------------------------------------------------------- //Esercizi sui vettori Febbario 2026 //-------------------------------------------------------------------------------------- // A1 (3) // riempire v[] con N elementi (N letto da tastiera) random fra 1 ed M (M letto da tastiera, M >= N) // in modo che il vettore NON contenga numeri primi. //A2 (3) // Dati due vettori ordinati di N elementi v1[] e v2[] mettere in // un terzo vettore (di dimensione 2*N) i valori di v1 e v2, mantenendo l'ordinamento in V3 // (non ordinare v3 dopo averlo riempito - usare un solo ciclo) //A3 (1) // dato v[] vettore di prezzi di N prodotti, q[] vettore di quantita' di N prodotti // produrre in s[] i totali ottenuto moltiplicando ciascun prezzo di prodotto per la sua quantita' // es: v[]= [1.10, 2.15, 0.50] , q=[2,1,4] allora in s ci viene messo: s[]=[2.20,1.15,2.00] //A3.2 (2) // come sopra ma con vettore sconti[] che contiene la percentuale di sconto per quel prodotto // es se sconto=[50, 0, 10] allora s[] = [1.10,1.15,1.80] //A4 (3) // void sequenze(int v[],int n) // visualizza sullo schermo quelle parti di vettore con sequenze consecutive // esempio: // se v=[1,2,5,3,4,5,-2,-1,0,7,4,5,6] // visualizza: // 1,2 // 3,4,5 // -2,-1,0 // 4,5,6 //A5 (2) // void differenzeuno(int v[], int n) // Ritorna vero se, per ogni numero il successivo e' uno in piu' o uno in meno // es: se v[]=[1,2,3,2,1,0,1] ritorna vero // se v[]=[1,2,4,3,2,1,0] ritorna falso //A6 (1) // void asterischi(int v[], int n) // il vettore v[] contiene numeri fra zero e 50 // Si produca il disegno a schermo che rappresenta, per ogni numero del vettore, la sua // quantita', in orizzontale, in asterischi // es: v=[1,4,7,2,0,1] // Ottengo il disegno: // * // **** // ******* // ** // // * //A7 (3) // disordina... // dato un vettore v[] di n elementi ordinato // renderlo "ben disordinato" con gli stessi elementi // esempio: se v[] e' [1,4,5,6,12,32], puo' diventare [4,32,1,5,12,6] oppure [6,32,4,12,5,1] //Gruppo denominato C //--------------------------------------------------------------------------- // Esercizi su vettori di interi // Fare le funzioni richieste rispettando il prototipo // e le specifiche // (n e' la dimensione dei vettori) //--------------------------------------------------------------------------- //C1 (1) int vettpari(int v1[], int v2[], int n) // legge da v2 e copia in v1 solo i valori pari; ritorna il numero // di elementi copiati //C2 (1) int numzeri(int v[], int n) // ritorna il numero di valori a zero nel vettore v //C3 (1) int vett_tabellina(int v[11], int tab) // ritorna nel vettore v[] la tabellina tab // es se tab=3 in v[] ci mette [0,3,6,9,...30] //C3 (1) int vett_tabellina(int v[11]) // ritorna la tabellina (es 7) se nel vettore c'e' esattamente la tabellina del 7 // es ritorna 3 se in v[] c'e' [0,3,6,9,...30], ritorna 0 se in v[] non c'e' una tabellina //C4 (1) int numdivis(int v[], int num, int n) // ritorna il numero di elementi del vettore v[] // che sono divisibili per il valore num //C5 (2) int numchar(int v[], int n) // ritorna il numero di valori di v[] che corrispondono al codice ASCII // di una lettera (maiuscola o minuscola) // es: se v=[0,-2,345,97,98,65,66] ritorna 4 // perche' 97, 98 sono codici ascii di minuscole; 65 e 66 di maiuscole //C6 (1) int numcifre(int v[], int n) // ritorna il numero di valori di v[] che corrispondono al codice ASCII // di una cifra // es: se v=[0,-2,48,50,97] ritorna 2 // perche' 48, 50 sono codici ascii di cifre //C7 (1) int numcompresi(int v[], int min, int max, int n) // ritorna il numero di valori di v[] compresi fra min e max //C8 (2) int numdiversi(int v1[], int v2[], int num, int n) // legge da v2 e copia in v1 i valori, se diversi da num; // ritorna il numero di valori copiati //C10 (2) void sommaprecedenti(int v1[], int v2[], int n) // legge da v2 e copia in v1 la somma dei precedenti; // es: se v2=[1,2,2,3,5] v1 diventa [1,3,5,8,13]