Ho modificato così ma ho sempre il solito problema:
#include <stdio.h>
#define N 10
int main(void) {
int i;
float vett1[N];
float vett2[i];
int m = 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) {
vett2[i] = vett1[i];
m = m + 1;
}
}
printf("I numeri positivi del vettore sono:\n");
for (i = 0; i < m; i++) {
printf("%f, ", vett2[i]);
}
}
Perché hai cambiato questa linea
float vett2[i];
che prima era giustamente
float vett2[N];
?
E poi, ovviamente devi usare m altrimenti a che serve, quindi deve essere
vett2[m] = vett1[i];
No MP tecnici (non rispondo nemmeno!), usa il forum.
Ho semplificato il tutto così ma ovviamente mi deve fare impazzire sempre con lo stesso problema.
#include <stdio.h>
#define N 10
int main(void) {
int i;
float vett1[N];
float vett2[N];
int m = 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) {
vett2[m] = vett1[i];
printf("I numeri positivi del vettore sono:\n", vett2[m]);
}
}
Ad ogni risposta cambi codice introducendo altri errori. Adesso dove sta
m=m+1;
??
Utilizza il codice che avevi postato con le ultime mie modifiche.
No MP tecnici (non rispondo nemmeno!), usa il forum.