Форум: "Начинающим";
Текущий архив: 2006.12.17;
Скачать: [xml.tar.bz2];
ВнизКак рассортировать? Найти похожие ветки
← →
alex810 © (2006-11-27 14:06) [40]ща поставлю паскаль и сделаю тебе прогу
← →
Cawa © (2006-11-27 14:10) [41]Writeln("---");
for i:=1 to size-1 do
begin
min:=i;
for j:=i+1 to size do
if m[j]< m[min] then min:=j;
buf:=m[i];
m[i]:=m[min];
m[min]:=buf;
end;
for k:=1 to size do writeln(m[k]:2:0);
← →
Cawa © (2006-11-27 14:12) [42]в [30] я уже давал верный вариант сортировки
← →
Shell (2006-11-27 14:16) [43]Прости не заметил, щас проверю
← →
Anatoly Podgoretsky © (2006-11-27 14:16) [44]> alex810 (27.11.2006 13:33:14) [14]
Вы не увлеклись нотации читать в технической конференции, тем более что в Потрепаться было несколько тем на эту тему, совсем недавно.
← →
Anatoly Podgoretsky © (2006-11-27 14:17) [45]> Андрей Сенченко (27.11.2006 13:35:15) [15]
То же самое, переходите в конференцию Прочее и начинайте новую мегаветку
← →
alex810 © (2006-11-27 14:18) [46]Получай у меня все работает
program mas;
uses crt;
const
SIZE=5;
var
a:array[1..SIZE] of integer;
k:integer;
i:integer;
changed:boolean;
buf:integer;
begin
for i:=1 to SIZE do
readln(a[i-1] );
repeat
Changed:=FALSE;
for k:=1 to SIZE-1 do
if a[k] > a[k+1] then
begin
buf := a[k]; a[k] := a[k+1]; a[k+1] := buf;
changed := TRUE;
end;
until not changed;
for i:=1 to SIZE do
writeln(a[i]);
writeln("Maccив отсортирован.");
end.
← →
Palladin © (2006-11-27 14:21) [47]
> [46] alex810 ©
и что ты хочешь сказать это с delphi не совметимо?
← →
alex810 © (2006-11-27 14:22) [48]Я такого не говорил попросили на паскале
← →
Shell (2006-11-27 14:25) [49]>alex810 © (27.11.06 14:18) [46]
Массив должен быбираться случайным образом от -1000 до 1000 а не вводиться с клавиатуры.
>Cawa © (27.11.06 14:12) [42]
Нет всё равно не работает. Из начально массив выглядит так:
938
485
9
-227
-76
После сортировки он выглядит так
-227
-76
485
9
938
Хотя должен выглядить так
-227
-76
9
485
938
← →
alex810 © (2006-11-27 14:38) [50]Попробуй это
program mas;
uses crt;
const
SIZE=5;
var
a:array[1..SIZE] of integer;
k:integer;
i:integer;
changed:boolean;
buf:integer;
begin
clrscr;
for i:=1 to SIZE do a[i-1]:=(random(2000))-1000;
repeat
Changed:=FALSE;
for k:=1 to SIZE-1 do
if a[k] < a[k+1] then
begin
buf := a[k]; a[k] := a[k+1]; a[k+1] := buf;
changed := TRUE;
end;
until not changed;
for i:=1 to SIZE do
write(a[i]," ");
write("Maccив отсортирован.");
readkey;
end.
Результат у меня во всяком случае
722 0 -455 -595 -938 Maccив отсортирован.
← →
Anatoly Podgoretsky © (2006-11-27 14:39) [51]> Shell (27.11.2006 14:25:49) [49]
Вот теперь конкретный пример и сразу все ясно, сортировка работает, только это текстовая сортировка, а нужна двоичная.
← →
Cawa © (2006-11-27 14:40) [52]Результат у меня верный что-то ты у себя намутил, вот код
const
size=5;
var i,j,min,k:integer;
s,n,a:integer;
M:array[1..20]of real;
buf:real;
begin
randomize;
a:=0;
for i:=1 to size do begin
a:=random(2000);
M[i]:=a-1000;
writeln(M[i]:2:0)
end;
Writeln("---");
for i:=1 to size-1 do
begin
min:=i;
for j:=i+1 to size do
if m[j]< m[min] then min:=j;
buf:=m[i];
m[i]:=m[min];
m[min]:=buf;
end;
for k:=1 to size do writeln(m[k]:2:0);
readln;
end.
← →
Shell (2006-11-27 14:43) [53]Всем огромное спасибо!
Всё получилось, я наконец то до думал.
← →
alex810 © (2006-11-27 14:44) [54]
> Вот теперь конкретный пример и сразу все ясно, сортировка
> работает, только это текстовая сортировка, а нужна двоичная.
>
Кто сказал что нужна двоичная. И как это переводить числа в двоичный код а потом двоичные числа сортировать???
← →
Cawa © (2006-11-27 14:49) [55]2 alex810 под двоичной имеется ввиду сортировка числовая по их конкретным значениям, а не по их строковым эквивалентам
← →
Anatoly Podgoretsky © (2006-11-27 14:54) [56]> alex810 (27.11.2006 14:44:54) [54]
> Кто сказал что нужна двоичная
Автор сказал, в той теме, на которую я ссылаюсь.
Страницы: 1 2 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.12.17;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.041 c