PDA

Visualizza la versione completa : [C] Ciclo for() per dividere pari e dispari


Prax
30-12-2011, 22:30
Salve a tutti, sono uno studente di terza elettronica, e da quest'anno ho iniziato ad usare il C per comprenderne almeno le basi.
L'ultimo compito assegnato stato quello di creare un programma che operando con degli array riceva dei numeri e li divida in pari e dispari, visualizzandoli.
Ho scritto il programma, ma non funzionava! :bh:
Quindi ho fatto il debug e ho scoperto che un ciclo for non funziona correttamente : infatti, non rispetta la condizione i=0, e quindi viene subito superato... :dott:
Ho provato anche a risolvere piazzando qualche i=0 in giro, ma senza risultato -.-"
Cosa ho sbagliato?? :bh:
Ecco il programma integrale, il for che crea problemi il secondo:


#include <stdio.h>
#include <stdlib.h>

int numeri = 5;
int a[5], pari[5], dispari[5],i,i1;

int main(int argc, char *argv[])
{
for(i = 0; i<numeri ; i++)
{
printf("Numero : ");
scanf("%d", &a[i]);
}
for(i1 = 0; i1<numeri ; i1++);
{
if (a[i1] % 2 == 0)
{
pari[i1] = a[i1];
}
else
{
dispari[i1] = a[i1];
}
}
for(i = 0; i<numeri; i++)
{
printf("\n\nPari : %d", pari[i]);
}
for(i = 0; i<numeri; i++)
{
printf("\n\nDispari : %d", dispari[i]);
}
system("PAUSE");
return 0;
}

shodan
30-12-2011, 22:35
Il secondo for ha un ; di troppo alla fine.


for(i1 = 0; i1<numeri ; i1++); <--
{
if (a[i1] % 2 == 0)
{
pari[i1] = a[i1];
}
else
{
dispari[i1] = a[i1];
}
}

Prax
31-12-2011, 10:36
Che errore stupido! :dh: :dh: :dh:
Grazie mille! :ciauz:

Loading