Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Упорядочивание массива

Автор: Tina 7.04.2007 17:21

Привет! Мне очень нужна помощь в решении следующей задачки. Если не трудно помогите!!..


Дано: const n = 40; var x: array[l..n] of integer; y, k: integer; t: boolean; переменной t присвоить значение true, если элементы массива x упорядоченны строго по вазростанию, и значение false иначе.

Автор: Tan 7.04.2007 17:33

Поищи в поиске по ключу : сортировка, метод пузырька. Потом просто сделаешь так : если во время сортировки было хоть одна перестановка то Т присвоишь false.

Автор: klem4 7.04.2007 20:06

Цитата
Поищи в поиске по ключу : сортировка, метод пузырька. Потом просто сделаешь так : если во время сортировки было хоть одна перестановка то Т присвоишь false.


Зачем тут пузырек-то ?

i := 1;
while (i < n ) and (X[i] < X[i + 1]) do inc(i);
T := (i = n);

Автор: Tan 7.04.2007 20:11

Чтобы было представление о сортировке на будущее. Так как если бы человек знал и понимал этот метод, то вероятно, темы бы не было.

Автор: volvo 7.04.2007 20:29

Tan, да, но ты предлагал СОВСЕМ другое: сортировать массив, и потом вернуть признак, БЫЛ ЛИ он неотсортированным... Так вот, на будущее и тебе тоже - читай условия задач внимательно, и думай, к чему приведет то решение, которое ты предлагаешь!

Автор: Tan 7.04.2007 20:35

да, спасибо, действительно не так понял условие, что - то я всё время тороплюсь. В небольшое оправдание : если сделать то что я предлогал в функции и не использовать var на подаче массива, всё бы сработало.