Помощь - Поиск - Пользователи - Календарь
Полная версия: Сортировка массива
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
alena
у меня задание упорядочить по не убыванию массив, содержащий 15 вещественных чисел
прога есть, но почемуто не прально работает, можете помочь, пожалуйста.
Rom1k
т.е задание такое:
дан одномерный массив,упорядочить его по возрастанию?!
volvo
Rom1k, с терминами поаккуратнее... Возрастание, и НЕубывание - разные вещи...
Rom1k
я просто спросил у неё,как надо
.Я даже не знаю,что такое по НЕубыванию.
Если бы она объяснила на примере,возможно бы я понял...
alena
Rom1k
в душе не знаю, задание именно так и звучит: упорядочить по неубыванию
volvo
Rom1k, по неубыванию - это когда i+1-ый элемент массива НЕ меньше, чем i-ый. То есть он может быть равен, но меньше быть не может... Вот то, что отмечено курсивом - как раз и есть разница между неубыванием и возрастанием...
alena
[code]Так у меня правильно задача составлена или нет? помойму он не правильно сортирует данные...помогите разобраться
-alena-
"упорядочить по неубыванию массив, содержащий 15 вещественных чисел" - так сформулирована задача. Я если честно учу паскаль всего лишь месяц и не знаю как делать. Помогите пожалуйста! сроки поджимают....
alena
Народ, помогите пожалуйста, я уже все перепробовала, в чем у меня ошибка? Лаба горит!
мисс_граффити
1. Она не компилируется ;)
2. Вообще не поняла твой алгоритм. Поищи по форуму (хоть сортировку пузырьком - самое простое).
Lapp
Цитата(alena @ 16.05.2007 20:01) *

в чем у меня ошибка?

Ты делаешь совсем не то. Ты проходишь по массиву, собираешь все его отрицательные элементы в массив b, а все неотрицательные - в массив c. А потом ты обратно закладываешь это в массив a (не совсем точно сказал - не закладываешь, а пытаешься закладывать, так как ты это делаешь с ошибками). При этом порядок следования как отрицательных, так и неотрицательных - сохраняется. Единственное "продвижение вперед" - это то, что отрицательные все же будут впереди положительных - не так уж много пользы, особенно если в массиве все элементы случатся одного знака.. smile.gif

В разделе Задачи есть подраздел FAQ. Там есть тема про сортировку, вот прямая ссылка на нее: Методы сортировок. Зайди и посмотри теорию. Что касается практики, то я сделал тебе простейшую сортировку пузырьком (про что говорила мисс_граффити) - разберись с кодом. Спрашивай, что непонятно.
var
a:array [1..15] of integer;
b,i, j, k:integer;

begin
randomize;
for i:=1 to 15 do begin
a[i]:=random(15)-8;
end;
WriteLn('Исходный массив:');
for i:=1 to 15 do write (a[i]:4);
WriteLn;
for j:=1 to 14 do for i:=14 downto j do if a[i]>a[i+1] then begin
b:=a[i];
a[i]:=a[i+1];
a[i+1]:=b
end;
WriteLn('Отсортированный массив:');
for i:=1 to 15 do write (a[i]:4);
readln;
end.

Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.