![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
mumu |
![]()
Сообщение
#1
|
Гость ![]() |
Помогите. пожалуйса решить следующую задачу:
Дан неотсортированный массив из определённого количества слов. Нужно отсортировать их по окончаниям быстрой сортировкой (т.е. не по превым. а по последним буквам). Отсортированные слова помещаются в новый массив. Как это решить? |
Altair |
![]()
Сообщение
#2
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Очень просто.
Используем быструю сортировку, только заменяем там все на сравнение букв (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 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Код 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 Пол: Женский Репутация: ![]() ![]() ![]() |
мдя..
![]() -------------------- непонимающая..
|
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 13:51 |