IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Cортировка по алфавиту?
сообщение
Сообщение #1


Гость






Народ, помогите, пожалуйста - срочно нужно! Нужно упорядочить массив строк M по алфавиту. Я знаю, что это очень просто - ну что-то никак не получается sad.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






FAQ: Методы сортировок ... Выбирай ...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Цитата(volvo @ 18.06.05 18:41)


Я уже и пузырьком пользовался, и ещё чем-то, но никак. Цикл зацикливается. Сортировка - это моё больное место sad.gif Можешь именно по алфавиту написать?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Так в том то и дело, что строки и будут отсортированы ПО АЛФАВИТУ !!!

Type
arrType = Array[1 .. n] Of String; { исправление №1 }
Var
M: arrType;
T: String;
...
For i := 1 To n Do
For j := n DownTo i+1 Do
If M[Pred(j)] > M[j] Then Begin
T := M[Pred(j)]; M[Pred(j)] := M[j]; M[j] := T
End;

FAQ для чего? Чтобы каждый раз то же самое заново переписывать? Я например так не думаю...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Цитата(volvo @ 18.06.05 19:00)
Так в том то и дело, что строки и будут отсортированы ПО АЛФАВИТУ !!!

Type
  arrType = Array[1 .. n] Of String; { исправление №1 }
Var
  M: arrType;
  T: String;
...
  For i := 1 To n Do
    For j := n DownTo i+1 Do
      If M[Pred(j)] > M[j] Then Begin
        T := M[Pred(j)]; M[Pred(j)] := M[j]; M[j] := T
      End;

FAQ для чего? Чтобы каждый раз то же самое заново переписывать? Я например так не думаю...


Не работает!
Я уже ничего не понимаю. sad.gif sad.gif sad.gif

В общем, у меня такая ситуация: Есть массив 'm', состоящий из записей 'order', в которой есть поле 'pol', так вот мне нужно, чтобы чтобы массив был отсортирован в алфавитном порядке этих полей.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Помоги, пожалуйста! Очень нужно!
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Вот наклепал на скорую руку, потестил, вроде работает, возможно надо подкорректировать :

uses crt;
var
str:array[1..10] of string;
temp,s1,s2:string;
i,j,n:integer;
flag:boolean;

Begin

clrscr;

write('n='); readln(n);

for i:=1 to n do begin
write('srt[',i,']=');
readln(str[i]);
end;

repeat

flag:=true;

for i:=1 to n-1 do begin

s1:=str[i];
s2:=str[i+1];

j:=1;
while(s1[j]=s2[j]) do inc(j);

if (j<=length(s1))and(j<=length(s2)) then
if not(ord(s1[j])<ord(s2[j])) then begin
temp:=str[i];
str[i]:=str[i+1];
str[i+1]:=temp;
flag:=false;
end;
end;

until flag;

for i:=1 to n do writeln(str[i]);

readln;

end.




поправил, теперь все отлично работает smile.gif

Сообщение отредактировано: klem4 -


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






Спасибо огромное!!!
Всё работает! :D :D :D
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Гость






Lespot,
В следующий раз вопрос задавай корректно. Никто не сможет догадаться, что у тебя не массив из строк, а массив из записей, пока ты сам об этом не скажешь...

klem4,
прекращаем переписывать по 100 раз программы, которые есть в FAQ. К тебе, как ни странно, правила форума тоже относятся... Сначала - поиск, потом ответ...
FAQ: Как упорядочить данные по возрастанию
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 1.09.2025 20:25
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name