UCHEES.RU - помощь студентам и школьникам
В 8:46 поступил вопрос в раздел Информатика, который вызвал затруднения у обучающегося.
Напишите программу, которая сортирует отдельно элементы массива с чётными и нечётными значениями. Все элементы с нечётными значениями нужно отсортировать по возрастанию, а элементы с чётными значениями – по убыванию. При этом элементы каждой из групп (как чётные, так и нечётные) должны занимать то же множество позиций в массиве, что и до сортировки.
Входные данные
Первая строка содержит размер массива N . Во второй строке через пробел задаются N чисел – элементы массива. Гарантируется, что 0 < N ≤ 100000 .
Выходные данные
Программа должна вывести все элементы отсортированного массива в одну строку, разделив их пробелами.
Для того чтобы дать полноценный ответ, был привлечен специалист, который хорошо разбирается требуемой тематике "Информатика". Ваш вопрос звучал следующим образом: Напишите программу, которая сортирует отдельно элементы массива с чётными и нечётными значениями. Все элементы с нечётными значениями нужно отсортировать по возрастанию, а элементы с чётными значениями – по убыванию. При этом элементы каждой из групп (как чётные, так и нечётные) должны занимать то же множество позиций в массиве, что и до сортировки.
Входные данные
Первая строка содержит размер массива N . Во второй строке через пробел задаются N чисел – элементы массива. Гарантируется, что 0 < N ≤ 100000 .
Выходные данные
Программа должна вывести все элементы отсортированного массива в одну строку, разделив их пробелами.
После проведенного совещания с другими специалистами нашего сервиса, мы склонны полагать, что правильный ответ на заданный вами вопрос будет звучать следующим образом:
//Весьма слабое решение, но после перерыва мне простительно, хех.
//Pascal ABC.NET v3.1 сборка 1219
Var
ar,arOdd,arNotOdd:array of integer;
n,i,j,k1,k2:integer;
begin
readln(n);
setlength(ar,n+1);
k1:=1;
k2:=1;
for i:=1 to n do
begin
readln(ar[i]);
if odd(i) then
begin
setlength(arOdd,k1);
arOdd[k1-1]:=ar[i];
inc(k1);
end
else
begin
setlength(arNotOdd,k2);
arNotOdd[k2-1]:=ar[i];
inc(k2);
end;
end;
sort(arOdd);
sort(arNotOdd);
reverse(arNotOdd);
k1:=0;
k2:=0;
i:=0;
while i<>n do
begin
inc(i);
if odd(i) then
begin
ar[i]:=arOdd[k1];
inc(k1);
end
else
begin
ar[i]:=arNotOdd[k2];
inc(k2);
end;
write(ar[i],' ');
end;
end.
Пример ввода:
5
1
2
3
4
5
Пример вывода:
1 4 3 2 5
НЕСКОЛЬКО СЛОВ ОБ АВТОРЕ ЭТОГО ОТВЕТА:
Работы, которые я готовлю для студентов, преподаватели всегда оценивают на отлично. Я занимаюсь написанием студенческих работ уже более 4-х лет. За это время, мне еще ни разу не возвращали выполненную работу на доработку! Если вы желаете заказать у меня помощь оставьте заявку на этом сайте. Ознакомиться с отзывами моих клиентов можно на этой странице.
Сидорова Радослава Авксентьевна - автор студенческих работ, заработанная сумма за прошлый месяц 60 704 рублей. Её работа началась с того, что она просто откликнулась на эту вакансию
ПОМОГАЕМ УЧИТЬСЯ НА ОТЛИЧНО!
Выполняем ученические работы любой сложности на заказ. Гарантируем низкие цены и высокое качество.
Деятельность компании в цифрах:
Зачтено оказывает услуги помощи студентам с 1999 года. За все время деятельности мы выполнили более 400 тысяч работ. Написанные нами работы все были успешно защищены и сданы. К настоящему моменту наши офисы работают в 40 городах.
РАЗДЕЛЫ САЙТА
Ответы на вопросы - в этот раздел попадают вопросы, которые задают нам посетители нашего сайта. Рубрику ведут эксперты различных научных отраслей.
Полезные статьи - раздел наполняется студенческой информацией, которая может помочь в сдаче экзаменов и сессий, а так же при написании различных учебных работ.
Красивые высказывания - цитаты, афоризмы, статусы для социальных сетей. Мы собрали полный сборник высказываний всех народов мира и отсортировали его по соответствующим рубрикам. Вы можете свободно поделиться любой цитатой с нашего сайта в социальных сетях без предварительного уведомления администрации.
ЗАДАТЬ ВОПРОС
НОВЫЕ ОТВЕТЫ
ПОХОЖИЕ ВОПРОСЫ