/******************************************* Dato un vettore, ad esempio: v: 2 2 3 3 3 4 2 2 4 3 3 3 3 5 5 6 1 2 3 3 i cui elementi sono i rispettivamente in posizione POS : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 individuare i valori adiacenti ripetuti piu' di una volta nel vettore, indicandone la posizione del primo elemento della ripetizione e di quanti elementi e' composta la ripetizione. Nel caso del vettore qui riportato, l'output del programma dovra' essere: Valore 2 ripetuto 2 volte a partire da 0 Valore 3 ripetuto 3 volte a partire da 2 Valore 2 ripetuto 2 volte a partire da 6 Valore 3 ripetuto 4 volte a partire da 9 Valore 5 ripetuto 2 volte a partire da 13 Valore 3 ripetuto 2 volte a partire da 18 *******************************************/ #include #define DIM_VETT 20 int main(){ int v[DIM_VETT] = {2, 2, 3, 3, 3, 4, 2, 2, 4, 3, 3, 3, 3, 5, 5, 6, 1, 2, 3, 3}; int i, j, n_rip, pos; /* Stampa vettore */ printf("VETT: "); for(i=0; i1){ printf("Valore %d ripetuto %d volte a partire da %d\n", v[i], n_rip, pos); } n_rip = 1; pos = i+1; } } if(n_rip>1){ printf("Valore %d ripetuto %d volte a partire da %d\n", v[i], n_rip, pos); } /* Seconda soluzione */ printf("\nSOLUZIONE 2\n"); i=0; while(i1){ printf("Valore %d ripetuto %d volte a partire da %d\n", v[i], n_rip, pos); i = j; }else{ i++; } } }