Questa è la consegna:
Scrivere un programma che dato una sequenza di N valori reali (con N definito come costante),carica i valori in un vettore e copia in un secondo vettore tutti i valori maggiori di 0 e ne stampa ilcontenuto.

Ho creato il tutto:
#include <stdio.h>
#define N 10
int main(void) {
int i;
float vett1[N];
float vett2[N];
int p=0;
printf("Inserisci i valori del vettore\n");
for (i = 0; i < N; i++) {
printf("Inserimento numero %d\n", i + 1);
scanf_s("%f", &vett1[i]);
}
for (i = 0; i < N; i++) {
if (vett1[i] > 0) {
vett1[i] = vett2[p];
p++;
}
}
printf("I numeri positivi del vettore sono:\n");
for (p = 0; p < N; p++) {
printf("%f, ", vett2[p]);
}
}



Il problema è che nell'eseguirlo mi stampa prima tutti i numeri positivi e poi alla fine mi mette dei numeri negativi a caso. Cosa sbaglio?