Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Pascal] Вывести слова в алфавитном порядке


Автор: InviZible 25.1.2007, 21:24
Нужно вывести слова в алфавитном порядке.
Слова в массив уже занес, а как их в алфавитном порядке вывести не знаю((
Как я думаю надо через ord и посимвольно сравнивать, но что-то не получается((
Заранее спасибо

Автор: Shadowlord 25.1.2007, 22:37
А в чем собственно проблема 
Один из вариантов:
1)Берем создаем строку с нашим алфавитом// упорядоченная последовательность символов
2)И сортируем по ней //функция pos(st1,st2) обнаруживает первое появление строки st1 в st2 результат целочисленное значение равное значению той позиции где находится первый элемент st1
3)выводим результат
Не поможет пиши напишу подробней
 

Автор: InviZible 25.1.2007, 22:41
подробней пожалуйста

Автор: Shadowlord 26.1.2007, 13:23
Вот что то такое 
Есть строка
st:='абв....';
Есть массив строковых переменных
a[1]:='мама';a[2]:='мыла';a[3]:='раму';
Код

d:=0;
repeat
for i:=1 to n-1 do {n из выше сказанного 3}
 begin
  if lenght(a[i])=<lenght(a[i+1]) 
   then
    t:=lenght(a[i])
   else
    t:=lenght(a[i]);
  k:=1;
  repeat
  boof:=k;
  x:=(pos(copy(a[i],k,1),st));
  if x=(pos(copy(a[j+1],k,1),st)) 
   then
    k:=k+1;
until (k=t+1)or(boof=k);
if x>(pos(copy(a[i+1],k,1),st)) 
 then
  begin
   d:=d+1;
   a[i]:=a[i+1];
   a[i+1]:=x;
  end;
 end;
untile d=0;


 
M
Kuvaldis

Пожалуйста, делайте правильный выбор тегов для подсветки кода (там выпадающее меню)! :)

Автор: InviZible 26.1.2007, 14:19
Разбираюсь...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)