Построить линейный список из входной последова-тельности чисел. Перестроить его так, чтобы сначала стояли все нечетные числа, затем все четные
Сортировка сначала четные, потом нечетные:
#include <iostream>
int main()
{
int array[] = { 10, 13, 17, 11, 14, 15, 12, 19, 18, 16 };
const int N = sizeof(array) / sizeof( array[0] ) ;
for( int v : array ) std::cout << v << ' ' ;
std::cout << '\n' ;
// Стартуем с левым = 0 и правым = size1-1
int left = 0 ;
int right = N-1 ;
// Продолжаем, пока левый меньше правого
while( left < right )
{
// Делаем ++left Пока не будет найдено четное число.
while( array[left]%2 == 1 && left < right ) ++left ;
// Затем --right до тех пор, пока не будет найдено последнее нечетное число.
while( array[right]%2 == 0 && left < right ) --right ;
// Меняем местами номера.
int temp = array[left] ;
array[left] = array[right] ;
array[right] = temp ;
}
for( int v : array ) std::cout << v << ' ' ;
std::cout << '\n' ;
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Где можно посмотреть примеры на С++ работы с компонентами Indy 10 IdTCPClient и IdTCPServer при пересылке целочисленных массивов?