Методы сортировки..... |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Методы сортировки..... |
perez |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 15 Пол: Мужской Репутация: 0 |
Народ, помогите, лаба висит на носу.... Как выглядит сортировка методом просеивания....напишите плиз....можно использовать только ее
|
volvo |
Сообщение
#2
|
Гость |
perez
Насколько мне известно, Цитата сортировка методом просеивания это другое название "Сортировки простыми вставками". Описание - в ФАКеЦитата поскольку элемент R, как бы "проникает" на положенный ему уровень, этот способ часто называют "просеиванием", или "погружением". Сообщение отредактировано: volvo - |
perez |
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 15 Пол: Мужской Репутация: 0 |
Точно?)
|
volvo |
Сообщение
#4
|
Гость |
perez
Прочитай вот это... :yes: |
perez |
Сообщение
#5
|
Новичок Группа: Пользователи Сообщений: 15 Пол: Мужской Репутация: 0 |
Маленькая проблемка, мне для столбцов двумерной матрицы, че где нуно переделать?)
|
Amro |
Сообщение
#6
|
Пионер Группа: Пользователи Сообщений: 146 Пол: Мужской Репутация: 2 |
В пирамидальной сортировке тоже что-то говорится о просеивании ... так что может быть и она ...
Сообщение отредактировано: Amro - -------------------- Закон иудеев: Семь раз отмерь, один отрежь.
Закон экономии: Семь раз отмерь, семь раз отрежь. Закон программиста: Семь раз отрежь, ошибся, отмерь. |
volvo |
Сообщение
#7
|
Гость |
perez
То есть тебе надо сортировать каждый столбец в отдельности? Или что? |
volvo |
Сообщение
#8
|
Гость |
Amro
А по линку ходил (который я дал) ? |
Amro |
Сообщение
#9
|
Пионер Группа: Пользователи Сообщений: 146 Пол: Мужской Репутация: 2 |
volvo
Пардон, не ходил, :yessss: однако там говорится что так называется способ, но как я понял не метод, а способ может присутствовать в разных методах смотря что понимается в данном случае под просеиванием .... Сообщение отредактировано: Amro - -------------------- Закон иудеев: Семь раз отмерь, один отрежь.
Закон экономии: Семь раз отмерь, семь раз отрежь. Закон программиста: Семь раз отрежь, ошибся, отмерь. |
perez |
Сообщение
#10
|
Новичок Группа: Пользователи Сообщений: 15 Пол: Мужской Репутация: 0 |
Да, каждый столбец нужно отсортировать.
|
perez |
Сообщение
#11
|
Новичок Группа: Пользователи Сообщений: 15 Пол: Мужской Репутация: 0 |
Народ, этот способ в факу н пашет..........прога выдает отсортированный массив со 2сэлемента, а первый эелемент меняет на ХРЕНЬ КАКУЮ ТУ)
|
volvo |
Сообщение
#12
|
Гость |
perez
Это то, что нужно по условию задачи: Код const n = 4; m = 4; type matrix = Array[1 .. n, 1 .. m] Of Integer; Procedure Insert(Var ar: matrix; currCol: Integer; n: Integer); Var i, j, T: Integer; Begin For i := 1 To n do Begin T := ar[i, currcol]; j := Pred(i); While (T < ar[j, currcol]) and (j >= 0) Do Begin ar[Succ(j), currcol] := ar[j, currcol]; Dec(j); End; ar[Succ(j), currcol] := T; End; End; const a: matrix = ((10, 9, 8, 7), ( 6, 5, 4, 3), (11, 12, 14, 16), (34, 23, 81, 11)); var i, j: integer; begin For i := 1 to m do Insert(a, i, n); for i := 1 to n do begin for j := 1 to m do write(a[i, j]:5); writeln end; end. Цитата Народ, этот способ в факу н пашет..........прога выдает отсортированный массив со 2сэлемента, а первый эелемент меняет на ХРЕНЬ КАКУЮ ТУ) Программу можно посмотреть, в которой это произошло? И впредь воздерживайтесь от таких высказываний, т.к. ВСЕ методы сортировки проверены мной лично на примерно 25 тестах... Сообщение отредактировано: volvo - |
Altair |
Сообщение
#13
|
Ищущий истину Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: 45 |
volvo, имхо у него индексация с нуля начинается..
-------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
perez |
Сообщение
#14
|
Новичок Группа: Пользователи Сообщений: 15 Пол: Мужской Репутация: 0 |
Вот майн прога, че в ней не правильно?
Код program pr5; uses crt; type ta = Array[1 .. 100,1..100] Of Integer; Var i,n,j,m: Integer; a : TA; procedure p5(var a: ta; n,m: integer); var i,j,t,l : integer; begin for j:=1 to m do For i := 2 To n do Begin T := a[i,j]; l := Pred(i); While (T < a[l,j]) and (l >= 0) Do Begin a[Succ(l),j] := a[l,j]; Dec(l,j); End; a[Succ(l),j] := T; End; end; begin writeln('vvedite n'); read(n,m); writeln('vvedite e-ti massiva'); for i:=1 to n do for j:=1 to m do read(a[i,j]); p5(a,n,m); for i:=1 to n do begin for j:=1 to m do write(a[i,j]:5); writeln; end; readkey; end. Сообщение отредактировано: volvo - |
perez |
Сообщение
#15
|
Новичок Группа: Пользователи Сообщений: 15 Пол: Мужской Репутация: 0 |
Что то я не понял программу вольво если честно) Что такое currCol/?
|
volvo |
Сообщение
#16
|
Гость |
perez
1. В твоей программе - Код While (T < a[l,j]) and (l >= 0) Do Begin a[Succ(l),j] := a[l,j]; Dec(l,j); { почему так? Должно быть просто Dec(l); } End; 2. В моей программе: тебе же надо сортировать столбцы по отдельности, вот я и передаю в процедуру сортировки таблицу, и тот столбец, который надо сортировать на этом проходе. (CurrCol - Current Column - текущий столбец.) |
perez |
Сообщение
#17
|
Новичок Группа: Пользователи Сообщений: 15 Пол: Мужской Репутация: 0 |
СПАСИБО VOLVO. ВСЕ РАБОТАЕТ) :thanks:
|
Текстовая версия | 23.12.2024 21:22 |