Buongiorno a tutti, sono nuovo di questo forum (ma penso che lo userò spesso per chiedere qualche consiglio, dato il mio rapporto problematico con l'informatica!). Volevo chiedere un aiuto su un esercizio che mi dice di acquisire un vettore di N elementi -N predefinito- per poi controllare se ci sono valori ripetuti: nel caso in cui ci siano, stamparli con relative occorrenze. Ecco il codice che avevo abbozzato:
#include <stdio.h>
#include <stdlib.h>
#define N 8
int main()
{
int v[N], i, j, uguale, u[N], p=0;
int flag = 0;
uguale = 0;
printf("Inserire i valori del vettore: \n");
for(i=0; i<N; i++) {
scanf("%d", &v);
}
printf("\n");
printf("\n");
printf("Il vettore inserito e': ");
for(i=0; i<N; i++) {
printf("%d ", v);
}
for(i=0; i<N; i++) {
for(j=0; j<i+1; j++) {
if (v[j] == v && i != j) {
u[uguale] = v;
uguale++;
}
}
}
printf("\n");
printf("\n");
if (uguale != 0) {
printf("Nel vettore ci sono elementi ripetuti:\n");
for(p=0; p<uguale; p++) {
flag = 1;
if(flag == 1) {
printf("%d ripetuto %d volte\n", u[p], uguale);
} flag = 0;
}
} else {
printf("Nel vettore non ci sono elementi uguali tra loro ");
}
printf("\n");
return 0;
}
Il problema però è mi visualizza i numeri ripetuti, ma se per esempio metto 3 elementi ripetuti 2 volte ciascuno lui mi dice che invece ciascuno è ripetuto 6 volte (3*2)... Qualcuno può essere così gentile e paziente da darmi una mano? Grazie