М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
DizlPlayS
DizlPlayS
27.09.2020 12:48 •  Другие предметы

В одномерном массиве все отрицательные элементы переместить в начало массива, а остальные — в конец с сохранением порядка следования.

👇
Ответ:
scrubble
scrubble
27.09.2020
var
a:array[1..100]of integer;
i,j,t,n:integer;
begin
randomize;
writeln('vvedite kol-vo elementov');
readln(n);
writeln('ishodnyj massiv');
for i:=1 to n do
begin
a[i]:=random(20)-10;
write(a[i],' ');
end;
writeln;
for i:=1 to n do
for j:=1 to n-1 do
if (a[j]>=0)and(a[j+1]<0)then
begin
t:=a[j];
a[j]:=a[j+1];
a[j+1]:=t;
end;
writeln('novyj massiv');
for i:=1 to n do
write(a[i],' ');
readln;
end.
4,6(40 оценок)
Ответ:
tyt9997
tyt9997
27.09.2020
Хорошо, давайте посмотрим, как решить эту задачу.

1. Создадим одномерный массив с некоторыми числами. Давайте представим, что это массив a[], и у нас есть, например, следующие элементы:

a[] = {-3, 2, -7, 1, 4, -5, 6, -9}

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

3. Используем while-цикл, чтобы перебрать все элементы массива. Проверяем каждый элемент и, если он отрицательный, меняем местами с элементом, находящимся на позиции, указанной первым индексом (позиция начала массива).

В нашем случае:

a[] = {-3, 2, -7, 1, 4, -5, 6, -9}

Перебираем элементы поочередно:
-3 < 0 – отрицательное число, меняем местами с элементом на позиции 0:
a[] = {-3, 2, -7, 1, 4, -5, 6, -9}

2 > 0 – положительное число, ничего не меняем:
a[] = {-3, 2, -7, 1, 4, -5, 6, -9}

-7 < 0 – отрицательное число, меняем местами с элементом на позиции 1:
a[] = {-7, 2, -3, 1, 4, -5, 6, -9}

1 > 0 – положительное число, ничего не меняем:
a[] = {-7, 2, -3, 1, 4, -5, 6, -9}

-5 < 0 – отрицательное число, меняем местами с элементом на позиции 2:
a[] = {-7, -5, -3, 1, 4, 2, 6, -9}

-9 < 0 – отрицательное число, меняем местами с элементом на позиции 3:
a[] = {-7, -5, -3, -9, 4, 2, 6, 1}

4 > 0 – положительное число, ничего не меняем:
a[] = {-7, -5, -3, -9, 4, 2, 6, 1}

Теперь у нас все отрицательные числа находятся в начале массива.

4. Осталось переместить все положительные элементы в конец массива, с сохранением порядка следования.

Снова используем while-цикл, но меняем условие проверки на положительное число. Также нужно изменить позицию, с которой мы начинаем перебор - теперь это первый положительный элемент после отрицательных чисел.

В нашем случае это элемент на позиции 4, значение 4.

Перебираем элементы поочередно:
4 > 0 – положительное число, ничего не меняем:

a[] = {-7, -5, -3, -9, 4, 2, 6, 1}

2 > 0 – положительное число, ничего не меняем:
a[] = {-7, -5, -3, -9, 4, 2, 6, 1}

6 > 0 – положительное число, ничего не меняем:
a[] = {-7, -5, -3, -9, 4, 2, 6, 1}

1 > 0 – положительное число, ничего не меняем:
a[] = {-7, -5, -3, -9, 4, 2, 6, 1}

Теперь у нас все положительные числа находятся в конце массива.

5. Массив отсортирован! Теперь его порядок следования соответствует требованиям задачи.

a[] = {-7, -5, -3, -9, 4, 2, 6, 1}

Мы использовали два цикла while для перебора элементов и проверки, является ли число отрицательным или положительным. Затем мы меняли местами только те элементы, которые отличались от желаемого порядка.

Таким образом, мы успешно переместили отрицательные элементы в начало массива, а положительные — в конец, сохраняя порядок следования каждой группы чисел.
4,5(77 оценок)
Проверить ответ в нейросети
Новые ответы от MOGZ: Другие предметы
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ