На языке Паскал
Создать одномерный статический массив длиной, заданной константой. Дружественный диалог с пользователем.
Требуется сгруппировать положительные элементы массива в его начале, отрицательные – в конце с сохранением их порядка.

5 Мая 2019 в 19:45
229 +1
0
Ответы
1

program PositiveNegativeSortingArray;

const
ARRAY_LENGTH = 10;

type
IntegerArray = array1..ARRAYLENGTH1..ARRAY_LENGTH1..ARRAYL ENGTH of Integer;

var
arr: IntegerArray;
i, temp, positiveIndex, negativeIndex: Integer;

begin
// Заполнение массива
writeln′Введитеэлементымассива:′'Введите элементы массива:'Введитеэлементымассива:;
for i := 1 to ARRAY_LENGTH do
begin
write′arr[′,i,′]:′'arr[', i, ']: 'arr[,i,]:;
readlnarr[i]arr[i]arr[i];
end;

// Сортировка элементов
positiveIndex := 1;
negativeIndex := ARRAY_LENGTH;

while positiveIndex < negativeIndex do
begin
if arrpositiveIndexpositiveIndexpositiveIndex > 0 then
positiveIndex := positiveIndex + 1
else if arrnegativeIndexnegativeIndexnegativeIndex < 0 then
negativeIndex := negativeIndex - 1
else
begin
temp := arrpositiveIndexpositiveIndexpositiveIndex;
arrpositiveIndexpositiveIndexpositiveIndex := arrnegativeIndexnegativeIndexnegativeIndex;
arrnegativeIndexnegativeIndexnegativeIndex := temp;
positiveIndex := positiveIndex + 1;
negativeIndex := negativeIndex - 1;
end;
end;

// Вывод отсортированного массива
writeln′Положительныеэлементывначале,отрицательныевконце:′'Положительные элементы в начале, отрицательные в конце:'Положительныеэлементывначале,отрицательныевконце:;
for i := 1 to ARRAY_LENGTH do
write(arr[i], ' ');

readln;
end.

28 Мая 2024 в 16:50
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир