[RESOLVIDO] ordenar nº pares e ímpares num array

Boa tarde.

Será que alguém pode ajudar neste método?
Seria suposto ele receber um vector de inteiros por parâmetro e depois colocar nas primeiras posições do vector os nº pares e nas últimas os nº ímpares.
Eu já fiz o método, só que o problema é que ele está a fazer o inverso do pretendido.

Podem ajudar?
Obrigado

public static void parImpar(int v[], int cap) { int numero1, numero2, aux = 0; int ult = cap - 1; //agrupar em pares for (int i = 0; i < cap; i++) { numero1 = v[i]; if (numero1 % 2 != 0) { aux = v[ult]; if (aux % 2 == 0) { v[ult] = numero1; v[i] = aux; } } for (int j = i + 1; j < cap; j++) { numero2 = v[j]; if (numero2 % 2 != 0) { aux = v[ult]; if (aux % 2 == 0) { v[ult] = numero2; v[j] = aux; } } } ult--; } }

Output:
[list]
Vector ordenado por nº pares (primeiras posições) e ímpares (últimas posições)
1
5
3
4
2
6
[/list]

Quando deveria ser:
[list]Vector ordenado por nº pares (primeiras posições) e ímpares (últimas posições)
4
2
6
1
5
3[/list]

está melhor assim guisantogui?

Inverta as condições dos ifs.

Cara me perdi usa uns nomes maiores tipo “numero1” e “numero2” ao invés de “n” e “m” :?

Já deu certo…

valeu ViniGodoy :wink:

Um abraço