Если не трудно можете помочь? Даны массивы А [1..6],В [1..6],С [1..6]. Переставить элементы в них таким образом, чтобы слева подряд были записаны отрицательные, а справа положительные ( с использованием процедуры). Заранее спасибо!
Помоему ты неджавно уже задавал http://forum.pascal.net.ru/index.php?showtopic=8272&hl=, а ты в курсе что дублировать темы не хорошо ?
Ответ кстати будет аналогичный : http://forum.pascal.net.ru/index.php?showtopic=3065
Выбирай любой
При чем тут сортировка? При сортировке и порядок положительных/отрицательных элементов друг относительно друга может измениться, а нужно просто перенести отрицательные перед положительными, скорее всего - сохраняя порядок...
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.
Ээ ну так-то оно так, только вот в задании у него про то что надо порядок сохранять не сказано
Агромное спасибо! Завтра уже будет зачет.
Люди помогите срочно надо решить массив, а я в этой теме не соображаю "При выводе на экран элементов массива вставить два элемента: первый после максимального элемента, второй перед максимальным элементом." Умоляю помогите!!!!!!
Кэти, ты правила читала?
Создай свою тему и спрашивай.