Salve a tutti! Propongo questo quesito, al quale credo di aver trovato risposta e vorrei averne una conferma da voi.
Il mio programma deve ricercare tra tutti gli elementi dell'array, il primo elemento che si ripete e stampare la posizione della prima ripetizione.
Io ho pensato di inserire una algoritmo simile al bubble sort, nel senso che inserisco due for uno con indice 1 e uno con indice j e così confronta tutti gli elementi se trova ripetizioni. E' giusto?
void cerca_rip (int v[], int dim){
int contatore = 0;
int posizione;
int i, j;
for (i=0; i<dim; i++){
for (j=0; j<i; j++){
if (v[j] == v[i]){
contatore ++;
}
if (v[j] == v[i] && contatore == 1){
printf ("\nPrimo elemento ripetuto nel vettore: %d\n\n", v[i]);
printf("Prima ripetizione in posizione %d", i);
}
}
}
}
Il contatore vede quanti sono gli elementi diversi ripetuti, nel caso contatore == 1 prendo solo il primo elemento ripetuto e mi stampo qual è e la sua posizione.
E' corretto?