ПАСКАЛЬ, помогите пожалуйста отсортировать по возрастанию отрицательные элементы массива.
ПАСКАЛЬ, помогите пожалуйста отсортировать по возрастанию отрицательные элементы массива. вывести начальный массив и модифицированный массив. можно использовать любой способ сортировки.Массив заполнить случайными положительными и отрицательными числами
Задать свой вопрос
Аделина Кайя-Бикинду
И как всегда, один и тот же вопрос: что делать с положительными элементами массива? Они остаются на своих местах?
Камилла
От убывания по возрастанию отсортировать, т.е поначалу отрицательные позже положительные
Vadim Stenko
Т.е. отсортировать отрицательные, поместить их в начало массива, а после их расположить в начальном порядке неотрицательные?
Ирина Шеленяткина
Отсортировать отрицательные числа массива , после них написать потложительный
Коля Балта
и вывести еще один начальный массив
Виолетта Слиян
Как это - "ЕЩЕ ОДИН ИСХОДНЫЙ"? Начальный же всего один?
Инна Поченцова
Одной строкой вывести начальный,(чтоб созидать, что изменилось) иной строчкой модифицированный
1 ответ
Константин Азарха
Const
n = 10;
var
a, b, c: array[1..n] of integer;
i, j, kb, kc, t: integer;
begin
Randomize;
Writeln('Начальный массив');
kb := 0; kc := 0;
for i := 1 to n do
begin
a[i] := random(101) - 50;
Write(a[i]:4);
if a[i] lt; 0 then begin Inc(kb); b[kb] := a[i] end
else begin Inc(kc); c[kc] := a[i] end
end;
Writeln;
сейчас массив b содержит отрицательныые элементы, с - остальные
for i := 1 to kb - 1 do
for j := 1 to kb - 1 do
if b[j] gt; b[j + 1] then
begin t := b[j]; b[j] := b[j + 1]; b[j + 1] := t end;
сливаем массивы b и c в массив а
i := 0;
for j := 1 to kb do begin i := i + 1; a[i] := b[j] end;
for j := 1 to kc do begin i := i + 1; a[i] := c[j] end;
Writeln('Результирующий массив');
for i := 1 to n do Write(a[i]:4);
Writeln
end.
Тестовое решение:
Начальный массив
-32 -8 43 -24 8 -45 -13 40 17 46
Результирующий массив
-45 -32 -24 -13 -8 43 8 40 17 46
n = 10;
var
a, b, c: array[1..n] of integer;
i, j, kb, kc, t: integer;
begin
Randomize;
Writeln('Начальный массив');
kb := 0; kc := 0;
for i := 1 to n do
begin
a[i] := random(101) - 50;
Write(a[i]:4);
if a[i] lt; 0 then begin Inc(kb); b[kb] := a[i] end
else begin Inc(kc); c[kc] := a[i] end
end;
Writeln;
сейчас массив b содержит отрицательныые элементы, с - остальные
for i := 1 to kb - 1 do
for j := 1 to kb - 1 do
if b[j] gt; b[j + 1] then
begin t := b[j]; b[j] := b[j + 1]; b[j + 1] := t end;
сливаем массивы b и c в массив а
i := 0;
for j := 1 to kb do begin i := i + 1; a[i] := b[j] end;
for j := 1 to kc do begin i := i + 1; a[i] := c[j] end;
Writeln('Результирующий массив');
for i := 1 to n do Write(a[i]:4);
Writeln
end.
Тестовое решение:
Начальный массив
-32 -8 43 -24 8 -45 -13 40 17 46
Результирующий массив
-45 -32 -24 -13 -8 43 8 40 17 46
Степа
Громадная благодарность, можно попросить написать комменты к программке(какая строчка, что исполняет)
Данька Индолев
Пожалуйста. В доли комментариев - написано, что исполняет каждый блок. Переписывать на российский язык предназначение каждого оператора - это бешено вздорное занятие. Вы сможете открыть учебник либо просто набрать на поисковике ПАСКАЛЬ и через пробел 1-ое слово оператора - узнаете, что и как он делает
Lesha Fedjachev
Благодарю еще раз)
Борис Ошметков
в первом блоке наполнение массива, вывод значений и одновременное разделение массива на два - с отрицательными и неотрицательными элементами. Далее сортировка массива отрицательных способом пузырька - метод описан досконально в интернете. И заключительный блок сливает массивы, поначалу пишет отсортированныЙ, позже ему "в хвост" массив из неотрицательных. Дальше следует вывод результата.
Туснахов
Егор
Можно было все сделать в одном массиве, но там таковой алгоритм будет, что черт ногу сломит....
Тимур Ковадьчук
В одномерном массиве размерностью n=10 отсортировать по возрастанию четные элементы массива.Вывести начальный и модифицированный массив.Можно использовать хоть какой способ сортировки.
Вероника Шпорина
Нужна помощь еще)
Бахчалова
Стефания
Во-первых, эту задачу теснее решали, пользуйтесь поиском. Во-вторых, новое задание обязано публиковаться отдельно, в неприятном случае у решающих нет места для публикации ответов.
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов