You could add two integers being an evencount and an oddcount to increment when you save into the respective arrays.
Code:
int evenTemp[N/2];
int oddTemp[(N-1)/2];
int evencount = 0;
int oddcount = 0;
char tempOdd;
for(i=0; i < N-1 ; i++)
{
if(odd[i]%2 == 0) /* if even integer*/
{
evenTemp[evencount] = odd[i]; /*store even numbers temporary */
evencount++;
}
else
{
oddTemp[oddcount]= odd[i]; /*store odd numbers temporary */
oddcount++;
}
}
You still need to look at why your two arrays add up to 8 in size but your final array needs 9 numbers