![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Lespot |
![]()
Сообщение
#1
|
Гость ![]() |
Народ, помогите, пожалуйста - срочно нужно! Нужно упорядочить массив строк M по алфавиту. Я знаю, что это очень просто - ну что-то никак не получается
![]() |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
FAQ: Методы сортировок ... Выбирай ...
|
Lespot |
![]()
Сообщение
#3
|
Гость ![]() |
Цитата(volvo @ 18.06.05 18:41) FAQ: Методы сортировок ... Выбирай ... Я уже и пузырьком пользовался, и ещё чем-то, но никак. Цикл зацикливается. Сортировка - это моё больное место ![]() |
volvo |
![]()
Сообщение
#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 для чего? Чтобы каждый раз то же самое заново переписывать? Я например так не думаю... |
Lespot |
![]()
Сообщение
#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 для чего? Чтобы каждый раз то же самое заново переписывать? Я например так не думаю... Не работает! Я уже ничего не понимаю. ![]() ![]() ![]() В общем, у меня такая ситуация: Есть массив 'm', состоящий из записей 'order', в которой есть поле 'pol', так вот мне нужно, чтобы чтобы массив был отсортирован в алфавитном порядке этих полей. |
Lespot |
![]()
Сообщение
#6
|
Гость ![]() |
Помоги, пожалуйста! Очень нужно!
|
klem4 |
![]()
Сообщение
#7
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Вот наклепал на скорую руку, потестил, вроде работает, возможно надо подкорректировать :
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.
поправил, теперь все отлично работает ![]() Сообщение отредактировано: klem4 - 18.06.2005 20:50 -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Lespot |
![]()
Сообщение
#8
|
Гость ![]() |
Спасибо огромное!!!
Всё работает! :D :D :D |
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
Lespot,
В следующий раз вопрос задавай корректно. Никто не сможет догадаться, что у тебя не массив из строк, а массив из записей, пока ты сам об этом не скажешь... klem4, прекращаем переписывать по 100 раз программы, которые есть в FAQ. К тебе, как ни странно, правила форума тоже относятся... Сначала - поиск, потом ответ... FAQ: Как упорядочить данные по возрастанию |
![]() ![]() |
![]() |
Текстовая версия | 28.07.2025 0:40 |