Я уже и пузырьком пользовался, и ещё чем-то, но никак. Цикл зацикливается. Сортировка - это моё больное место Можешь именно по алфавиту написать?
volvo
18.06.2005 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 для чего? Чтобы каждый раз то же самое заново переписывать? Я например так не думаю...
Lespot
18.06.2005 19:47
Цитата(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
18.06.2005 20:04
Помоги, пожалуйста! Очень нужно!
klem4
18.06.2005 20:17
Вот наклепал на скорую руку, потестил, вроде работает, возможно надо подкорректировать :
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.
поправил, теперь все отлично работает
Lespot
18.06.2005 21:31
Спасибо огромное!!! Всё работает! :D :D :D
volvo
19.06.2005 16:15
Lespot, В следующий раз вопрос задавай корректно. Никто не сможет догадаться, что у тебя не массив из строк, а массив из записей, пока ты сам об этом не скажешь...
klem4, прекращаем переписывать по 100 раз программы, которые есть в FAQ. К тебе, как ни странно, правила форума тоже относятся... Сначала - поиск, потом ответ... FAQ: Как упорядочить данные по возрастанию
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.