Помощь - Поиск - Пользователи - Календарь
Полная версия: Нужна помощь по массивам
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
V@ntuz
Если не трудно можете помочь? Даны массивы А [1..6],В [1..6],С [1..6]. Переставить элементы в них таким образом, чтобы слева подряд были записаны отрицательные, а справа положительные ( с использованием процедуры). Заранее спасибо!
klem4
Помоему ты неджавно уже задавал такой же вопрос, а ты в курсе что дублировать темы не хорошо ? dry.gif

Ответ кстати будет аналогичный : FAQ : Методы сортировок

Выбирай любой
volvo
blink.gif При чем тут сортировка? При сортировке и порядок положительных/отрицательных элементов друг относительно друга может измениться, а нужно просто перенести отрицательные перед положительными, скорее всего - сохраняя порядок...
const
n = 6;
type
arrType = array[1 .. n] of integer;

procedure reform(var arr: arrType);
var T, i, j, last_neg: integer;
begin

last_neg := 0;
for i := 1 to n do begin
if arr[i] < 0 then begin
inc(last_neg); T := arr[i];
for j := i downto last_neg + 1 do
arr[j] := arr[j - 1];
arr[last_neg] := T;
end;
end

end;

const
a: arrType = (-1, 2, 3, -3, -5, 4);
var i: integer;

begin
reform(a);

for i := 1 to n do
write(a[i]:4);
writeln;
end.
klem4
Ээ ну так-то оно так, только вот в задании у него про то что надо порядок сохранять не сказано
V@ntuz
Агромное спасибо! Завтра уже будет зачет.
Кэти
Люди помогите срочно надо решить массив, а я в этой теме не соображаю "При выводе на экран элементов массива вставить два элемента: первый после максимального элемента, второй перед максимальным элементом." Умоляю помогите!!!!!!
GoodWind
Кэти, ты правила читала?
Создай свою тему и спрашивай.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.