Problemas de orden con programa

Tengo que conseguir hacer un ejercicio con el cual estoy atascado. No busco la solución, solo saber que estoy haciendo mal. Estoy seguro de que es un problema de orden.

El ejercicio pide lo siguiente: "Introduce un caracter por el monitor serie y guardalo en un array. Al introducir 10 caracteres, imprímelos por pantalla, imprimiendo primero los huecos pares del array,
y luego los impares. Es decir, array[0] array[2] array[4] (...) array[8] array[1] array[3]..."

La parte de par e impar la haré después de solucionar esto.

int estado;
int Array[10];

void setup() {
  Serial.begin(9600);

}

void loop() {

  for (int i = 0; i < 10; i++) {
    if (Serial.available()) {
      estado = Serial.read();
      while (estado >= 48 && estado <= 57) {
        estado -= '0';
      }
      Array[i] = estado;
    }
  }
  for (int j = 0; j < 10; j++) {
    Serial.println(Array[j]);
  }

}

Lo he solucionado. Ahora el problema es imprimir los pares e impares.

Incrementa la variable del bucle for de 2 en 2 en vez de 1 en 1.El metodo de entrada de caracteres tampoco es muy correcto.Hazte una variable y en el loop:
-Si hay datos los lees ,incrementas en uno la variable y compruebas si es igual a 10,en cuyo caso has acabado,si no ,sigues leyendo.

for (byte i=0; i<10; i=i+2){
   //Pares
}
for (byte i=1; i<10; i=i+2){
   //Impares
}