Devo creare un codice che inserisca N numeri inseriti dall'utente (il numero inserito non deve essere maggiore di 20) e di questi numeri vengano stampati in output solo i numeri non ripetuti.
Il problema che sto avendo, motivo per cui non riesco a testare se il codice finale è giusto, è che in output non mi viene visualizzato il risultato ma bensi questo numero: -858993460, che penso abbia a che fare con l'indirizzo di memoria, dall'alto della mai ignoranza, e non capisco cosa possa aver sbagliato, perché vedendo i compiti dei miei colleghi li vedo molto simili. Dove sto sbagliando?
#include <stdio.h>
int main() {
int N = 0, i, b = 0, j=0, k=0;
int vett[20]; int n[20];
while (N >= 0)
{
printf("Quanti numeri vuoi visualizzare?\n");
scanf_s("%d", &N);
if (N > 20) {
printf("inserire un numero inferiore a 20\n");
printf("\n");
continue;
}
if (N < 0) {
printf("devi inserire un numero positivo, riavvia il programma");
}
else {
break;
}
}
for (i = 0; i < N; i++) { //inserisce i numeri nell'array
printf("inserire numero %d: \n", (i + 1));
scanf_s("%d", &vett[i]);
for (j = 1; j < N; j++) { //scarta i numeri ripetuti
if (n[j] == vett[i]) {
continue;
}
else {
vett[i] = n[k];
k++;
}
}
}
for (j = 0; j < N; j++) { //stampo tutti i numeri inseriti non ripetuti
printf("%d: \n", n[k]);
}
}