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

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

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

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


Гость






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


Гость






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


Гость






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


Я уже и пузырьком пользовался, и ещё чем-то, но никак. Цикл зацикливается. Сортировка - это моё больное место sad.gif Можешь именно по алфавиту написать?
 К началу страницы 
+ Ответить 
volvo
сообщение 18.06.2005 19:00
Сообщение #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
сообщение 18.06.2005 19:47
Сообщение #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', так вот мне нужно, чтобы чтобы массив был отсортирован в алфавитном порядке этих полей.
 К началу страницы 
+ Ответить 
Lespot
сообщение 18.06.2005 20:04
Сообщение #6


Гость






Помоги, пожалуйста! Очень нужно!
 К началу страницы 
+ Ответить 
klem4
сообщение 18.06.2005 20:17
Сообщение #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 - 18.06.2005 20:50


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


Гость






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


Гость






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

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

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

 



- Текстовая версия 22.06.2025 21:37
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"