Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2010, 18:05   #1
Irisk
Пользователь
 
Регистрация: 23.12.2010
Сообщений: 19
По умолчанию как сделать сортировку для отрицательных элементов?

Дана последовательность x1,x2,...,x20. Требуется
расположить отрицательные элементы последовательности в
порядке убывания.

выполнять модифициpованным методом
пpостого выбоpа

uses crt;
var a:array[1..5] of integer;
i,j,buf,imin:integer;
begin
clrscr;
for i:=1 to 5 do begin
write('vv el');
read(a[i]);end;
for i:=1 to 5-1 do begin
imin:=i;
for j:=i+1 to 5 do
if a[j]<a[imin] then imin:=j;
buf:=a[i];
a[i]:=a[imin];
a[imin]:=buf;
end;
for i:=1 to 5 do
write(a[i],' ');
readln;
end.

как сделать сортировку для отрицательных элементов?
Irisk вне форума Ответить с цитированием
Старый 23.12.2010, 19:05   #2
westlinex
Пользователь
 
Регистрация: 21.12.2010
Сообщений: 10
По умолчанию

Вот исправила вроде сортирует.
Проверяй! Сортирует только отрицательные, положительные оставляет на прежнем месте
Код:
Program sort;
uses crt;
var a:array[1..5] of integer;
i,j,buf,imin:integer;
begin
clrscr;
for i:=1 to 5 do begin
write('vvedite element a(',i,')');
read(a[i]);end;
for i:=1 to 5 do begin
imin:=i;
for j:=i+1 to 5 do
if (a[j]>a[imin]) and (a[j]<0) then imin:=j;
buf:=a[i];
a[i]:=a[imin];
a[imin]:=buf;
end;
for i:=1 to 5 do
write(a[i],' ');writeln; readln;
readln;
end.

Последний раз редактировалось westlinex; 23.12.2010 в 19:14.
westlinex вне форума Ответить с цитированием
Старый 23.12.2010, 19:24   #3
Irisk
Пользователь
 
Регистрация: 23.12.2010
Сообщений: 19
По умолчанию

Что то не получается
-1 0 2 -17 29
-17 -1 2 0 29
Irisk вне форума Ответить с цитированием
Старый 23.12.2010, 19:31   #4
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Используйте обычную сортировку методом пузырька, вам хватит.
P.S. Google рулит.
_-Re@l-_ вне форума Ответить с цитированием
Старый 23.12.2010, 19:36   #5
Irisk
Пользователь
 
Регистрация: 23.12.2010
Сообщений: 19
По умолчанию

выполнять модифициpованным методом
пpостого выбоpа
Irisk вне форума Ответить с цитированием
Старый 23.12.2010, 19:51   #6
westlinex
Пользователь
 
Регистрация: 21.12.2010
Сообщений: 10
По умолчанию

смотри что у меня получается
Код:
Program sort;
uses crt;
var a:array[1..5] of integer;
i,j,buf,imin:integer;
begin
clrscr;
for i:=1 to 5 do begin
write('vvedite element a(',i,')');
read(a[i]);end;
for i:=1 to 5 do begin
imin:=i;
for j:=i+1 to 5 do
if (a[j]>a[imin]) and (a[j]<0) then imin:=j;
buf:=a[i];
a[i]:=a[imin];
a[imin]:=buf;
end;
for i:=1 to 5 do
writeln('a[',i,']',a[i],' ');writeln; readln;
readln;
end.
на экране ввожу элементы
a[1]=-9
a[2]=2
a[3]=-3
a[4]=7
a[5]=-5
выводит
a[1]=-3
a[2]=2
a[3]=-5
a[4]=7
a[5]=-9
westlinex вне форума Ответить с цитированием
Старый 23.12.2010, 20:05   #7
Irisk
Пользователь
 
Регистрация: 23.12.2010
Сообщений: 19
По умолчанию

Все получается,спасибо большое!!!!
Irisk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти наибольший из отрицательных элементов. Pascal Kasandra88 Помощь студентам 1 30.01.2010 12:41
Найти максимальный из положительных элементов матрицы и сумму отрицательных элементов. bessonov12 Microsoft Office Excel 7 04.05.2009 05:44
DBGrid: Как сделать собственную сортировку данных? AnTe БД в Delphi 17 26.02.2009 17:38
Вычислить и запомнить количество отрицательных элементов каждого столбца для матрицы A(10,10) , B (15,20) bitmania Помощь студентам 3 15.10.2008 01:06
Как сделать сортировку (поиск) Delphi+Access Toska БД в Delphi 6 28.08.2008 22:32