Задача по массивам в си

Помогите плиз как это ришить: Переставить элементы целочисленного массива X=(x1,x2, ...,xn) таким образом, чтобы находящиеся в нем четные (ч) и нечетные (нч) элементы были рассположины попарно: ч нч ч нч ч нч ... В конце массива рассположить избыточные четные или не четные элементы.
2 ответа

Вот чтото вроде такого
#include "stdafx.h"

void Process(int* A, int ArraySize)
{
	int p = 0; // Указатель на элемент для обраотки
	while (p<ArraySize)
	{
		// Если p - чётное то вставляем чётное значение, если нет то нечётное
			int i=p;
		while ((i<ArraySize)&&((A[i]%2)!=(p%2))) { i++;	} // Ищим первый подходящий элемент
		if (i>=ArraySize) { return; } // Подходящий элементов больше нет. В конце остались неподходящие. Значит выходим
		int temp = A[i];
		for (int j=i;j>p;j--) { A[j] = A[j-1]; } // Сдвигаем елементы на одну позицию вперёд
		A[p] = temp; // Вставляем элемент в нужную позицию
		p++;
	}
};

int main(int argc, char* argv[])
{
	int A[] = { 0,1,2,3,4,6,7,8,10,12,15 };
	Process(A,11);
	for (int i = 0;i<11;i++)
	{
		printf(" %u ",A[i]);
	}
	return 0;
};


Спасибо друг очень выручил