Помощь - Поиск - Пользователи - Календарь
Полная версия: Алфавитный порядок
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
annna
Есть задачка(напечатать в алфавитном порядке все строчные буквы, входящие в интервал из 100 литер), но не могу понять ,как они упорядываются...
Код

program lab10_1;
var st:string;
i,j:integer;
begin
writeln('Enter small letters');
readln(st);
for i:=1 to 322 do    {???}
for j:=1 to 100 do
if ord(st[j])=i then
write (st[j]);
readln;
end.

Добавление: просто вводишь латинские буквы в разброс, а программа их упорядычивает по алфавиту(вот такие мы ,химики неграмотные smile.gif )
GoodWind
вааще условия задачи не понял, Вам так и продиктовали его ?
FreeMan
Вводят строку. Загоняем в массив, сортируем, выводим на экран - задача для начинающих.
GoodWind
аааа...берусь писАть..
APAL
Не надо массива - все можно сделать в строке.
А условие надо бы уточнить...
annna
FreeMan
Этот то понятно, хотелось бы узнать как происходит сортировка?
А программа вроде правильная.
APAL
Может так:

Код
program lab10_1;
var st:string;
ch : char;
i,j:integer;
begin
writeln('Enter small letters');
readln(st);
for i:=1 to Length(St)-1 do    
for j:=i+1 to Length(st) do
if st[j]<st[i] then
Begin
  ch:=st[j];
  st[j]:=st[i];
  st[i]:=ch;
End;
For i:=1 to 100 do Write(st[i]);
readln;
end.
GoodWind
Код
uses crt;

var str:string;

function sort(in_st:string):string;
var i,j:byte;
   ch:char;
begin
for i:=1 to length(in_st) do
begin
 for j:=1 to length(in_st) do
  begin
   if ord(in_st[j])>ord(in_st[i]) then
    begin
    ch:=in_st[i];
    in_st[i]:=in_st[j];
    in_st[j]:=ch;
    end;
  end;
end;
sort:=in_st;
end;

begin
clrscr;
write('Введите строку строчных латинских букв: ');readln(str);
writeln(sort(str));
readkey;
end.

-----
здесь все в строке сделано.

а упорядочиваются они в соответствии с ASCII кодом буквы,
тоесть у буквы b ASCII код больше ASCII кода буквы a
-----
всё, я спать пошел - у нас час ночи
APAL
GoodWind
У тебя сортировка идет в обратном алфавитном порядке... и сам метод сортировки не очень...
GoodWind
Цитата
У тебя сортировка идет в обратном алфавитном порядке... и сам метод сортировки не очень...

спать хочу....
ща переделаю.

брррр....чур меня работает номано !

а о методе - чё за 5 минут придумал, то и написал :D

---
и ваще спать пошел я 0:58 млин....а завтра на практику с утра.....
Romtek
Цитата(APAL @ 27.09.04 20:45)
Не надо массива - все можно сделать в строке.

Строка, по ходу - это и есть массив (символов).
GoodWind
всё, я проснулся, у кого там еще притензии к моей программе ?? :D
-----
Цитата
Строка, по ходу - это и есть массив (символов).

ну правильно...
Altair
Цитата
это и есть массив (символов).

Ага, причем особый!
Нулевой элемент хранит истинную длинну строки!

Вопрос на засыпку:
Как укоротить на 5 длинну строки, используя нулевой эл-т. ? :D
APAL
Опять про строки... Ну проходили мы уже это!
Где-то здесь есть целый трактат (статья) на эту тему, да и в задачах часто рассматривается.
Кто старое помянит - тому глаз вон! :D
Altair
Ага. еще и в FAQ'e по стокам есть куча инфы!
АПАЛ как всегда прав! smile.gif
GoodWind
apal, проверил программу? все работало номано..
APAL
GoodWind
писал сразу на форуме.
счас проверил - вроде работает и твоя и моя. smile.gif
GoodWind
Цитата
счас проверил - вроде работает и твоя и моя

успокоил...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.