Автор: FENIX 17.03.2005 21:50
Попросили помочь в написании программы. Но из-за катастрофической нехватки времени (своих прог писать тонну + они гораздо серьезнее) не могу сосредоточиться. прошу помощи
Задание: дан массив n=20.
Отсортировать отрицательные числа по убыванию, положительные числа перенести в конец и отсортировать по возрастанию.
Метод сортировки - на выбор.
Заранее спасибо.
Автор: FreeMan 17.03.2005 21:57
тысячи раз было решено. пользуй поиск.
Автор: FENIX 17.03.2005 22:17
Цитата(FreeMan @ 17.03.05 17:57)
тысячи раз было решено. пользуй поиск.
Не подскажешь, как лучше сформулировать запрос?
Автор: klem4 17.03.2005 22:28
вот так : http://forum.pascal.net.ru/index.php?showtopic=3065
Автор: FENIX 17.03.2005 22:43
Всем спасибо, злиться не надо ;)
Автор: virt 18.03.2005 0:10
;)
эта прога пишется за 7-12 минут ,я думаю на написание поста ушло не многим меньше ,что же это за гораздо серьезные проги такие?
Автор: Romtek 18.03.2005 2:21
http://forum.sources.ru/index.php?showtopic=59376
Автор: FENIX 21.03.2005 23:39
Как только нашлось время, сделал
Выкладываю код - может, кому пригодится.
:low:
Код
Program Sort_Move;
Uses Crt;
var
A : array [1..20] of integer;
i, j, n, t : integer;
BEGIN
ClrScr;
write('Vvedite N = ');
readln(n);
writeln;
Writeln('Vvedite isxodnyi massiv:');
For i := 1 to n do
begin
write('A[',i,']=');
readln(A[i]);
end;
For i := 1 to n do
If A[i] > 0 then
For j := n downto i+1 do
If A[j] < 0 then
begin
T := A[i];
A[i] := A[j];
A[j] := T;
break;
end;
For i := 1 To n Do
If A[i] < 0 then
For j := n DownTo i+1 Do
If A[j] < 0 then
If A[i] < A[j] Then
begin
T := A[i];
A[i] := A[j];
A[j] := T;
end;
For i := 1 To n Do
If A[i] > 0 then
For j := n DownTo i+1 Do
If A[j] > 0 then
If A[i] > A[j] Then
begin
T := A[i];
A[i] := A[j];
A[j] := T;
end;
writeln;
Writeln('Massiv posle izmenenya:');
writeln;
For i := 1 to n do
writeln('A[',i,']=',a[i]);
writeln;
readln;
END.