Другие языки программирования и технологии

Как определить четность или нечетность в массиве на С++??

Дана задача.В заданном массиве элементы с четными индексами упо¬рядочите по возрастанию, а с нечетными - по убыванию.С++
int A[20];
for (int j = 0; j < 20; ++j)
{
A[j] = (int)(rand() * (90.0/(RAND_MAX+1)) + 10);
printf("A[%2u] = %d\n", j, A[j]);
}

for (int j = 2; j < 20; j += 2)
{
for (int k = 0; k < j; k += 2)
{
if (A[j] < A[k])
{
int t = A[k];
A[k] = A[j];
A[j] = t;
}
}
}

for (int j = 3; j < 20; j += 2)
{
for (int k = 1; k < j; k += 2)
{
if (A[j] > A[k])
{
int t = A[k];
A[k] = A[j];
A[j] = t;
}
}
}

printf("\n");
for (int j = 0; j < 20; j += 2)
{
printf("A[%2u] = %d\n", j, A[j]);
}

printf("\n");
for (int j = 1; j < 20; j += 2)
{
printf("A[%2u] = %d\n", j, A[j]);
}
Айбек Казымбетов
Айбек Казымбетов
21 360
Лучший ответ
А зачем определять?
просто считай 2n и 2n+1. как раз получатся чётные и нечётные индексы
Олег Шпыхов
Олег Шпыхов
75 320
for( int i = 0; i < Max; i++ )
if( i mod 2 == 0 )
по возрастанию;
else
по убыванию

----->> И. А. Голованов при работе в очень большой программе нужно экономить память. Если массив очень большой? Не стоит грузить программу двумя циклами. Я так думаю хотя кто его знает, может проверка тоже нехило сьест.
Роман Путилин
Роман Путилин
1 025
Олег Шпыхов А причём тут "двумя циклами"?
цикл один и на пол числа элементов на каждом проходе пузырька
(если по mod смотреть вчетверо длиннее получится)
Вячеслав Богатищев вот я и хочу сделать одним циклом,вопрос как опредять четность?что такое mod?