![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
mumu |
![]()
Сообщение
#1
|
Гость ![]() |
Помогите. пожалуйса решить следующую задачу:
Дан неотсортированный массив из определённого количества слов. Нужно отсортировать их по окончаниям быстрой сортировкой (т.е. не по превым. а по последним буквам). Отсортированные слова помещаются в новый массив. Как это решить? |
Altair |
![]()
Сообщение
#2
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Очень просто.
Используем быструю сортировку, только заменяем там все на сравнение букв (char), и начинаем не сначала строки а с конца. т.е. с элемента s[length(s)]; (последний). -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
fms |
![]()
Сообщение
#3
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 195 Пол: Женский Репутация: ![]() ![]() ![]() |
только наверно просто s[length(s)] не пройдет.. т.к. будет смотреть с последнего слова, а не с последн. буквы слова. (а может и нет.)
если массив объявить как двумерн. а при вводе использовать как одномерный т.е. если массив s[i,j] то вводим запоминаем в s[i] и тогда потом при выводе s[i,j] будет выводится j-ый символ i-ого слова. __ действует в си.. на паскале не знаю.. ![]() -------------------- непонимающая..
|
mumu |
![]()
Сообщение
#4
|
Гость ![]() |
А как полностью реализовать на Паскале. Мне для универа. Ни фига не понимаю...
|
fms |
![]()
Сообщение
#5
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 195 Пол: Женский Репутация: ![]() ![]() ![]() |
http://algolist.manual.ru/sort/quick_sort.php
здесь есть объяснение и программа.. правда на си.. ![]() -------------------- непонимающая..
|
Altair |
![]()
Сообщение
#6
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Код Program SortQuckString; Uses Crt; Const nn=10; {¬ Єб. Є®«-ў® н«-в®ў ў ¬ ббЁўҐ} Type atype=array[1..nn] of string; {вЁЇ ¬ ббЁў} Procedure Vec(var a:atype; var n:integer); {ўў®¤ ¬ ббЁў } var c,i:integer; begin repeat writeln('‚ўҐ¤ЁвҐ n= '); readln(n) until (n>0) and (n<=nn); For i:=1 to n do begin write('‚ўҐ¤ЁвҐ a[',i,']= '); readln(a[i]) end End; Procedure SortQuick(var x:atype; left, right:integer); {б®авЁа®ўЄ } var l,r,i:integer; a:string; Begin { ЇҐаҐўҐаҐ¬ ўбҐ бва®ЄЁ } l:=left; r:=right; a:=x[l]; repeat while (x[r]>=a) and (l<r) do r:=r-1; x[l]:=x[r]; while (x[l]<=a) and (l<r) do l:=l+1; x[r]:=x[l]; until r=l; x[l]:=a; If left<l-1 then SortQuick(x,left,l-1); If r+1<right then SortQuick(x,r+1,right) end; Procedure Print(a:atype; n:integer); Var I:integer; Begin For i:=1 to n do writeln(a[i]:6); writeln End; Procedure PEREVOROT(var a:atype; n:integer); var i,k:integer; s,ts:string; begin for i:=1 to n do begin s:=''; s:=a[i]; for k:=1 to Ord(s[0]) do begin ts:=''; ts[k]:=s[(ORD(s[0])-k+1)] end; for k:=1 to Ord(s[0]) do ts:=ts+ts[k]; a[i]:=ts; ts:=''; end; end; Var A:Atype; n:integer; Begin Clrscr; vec(a,n); Writeln('‚ и ¬ ббЁў:'); Print(a,n); {ЇҐаҐў®а зЁў Ґ¬ бва®ЄЁ ў ¬ ббЁўҐ} PEREVOROT(a,n); SortQuick(a,1,n); PEREVOROT(a,n); writeln('‚ и ®вб®авЁа®ў л© ¬ ббЁў ( зЁ п б Є®Ґзле ЎгЄў)'); Print(a,n); readkey End. Цитата А как полностью реализовать на Паскале. Мне для универа. Ни фига не понимаю... А как учиться дальше собираетесь? Цитата здесь есть объяснение и программа.. правда на си.. в общем можно поковыряться..) Если товарищ не может на пасе, то с СИ он точно не разберется! -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
fms |
![]()
Сообщение
#7
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 195 Пол: Женский Репутация: ![]() ![]() ![]() |
мдя..
![]() -------------------- непонимающая..
|
![]() ![]() |
![]() |
Текстовая версия | 15.04.2025 12:58 |