Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Задача на слова

Автор: Странница 15.10.2006 18:32

Заранее говорю про вывод слов в алфавитном порядке читала ,но честно ниичего не поняла, а моя задача звучит так Даны три слова одинаковой длины, начинающиеся на буквы А, В,К в любом порядке следования. Напечатать их в алфавитном порядке. Срочняк!!!!! Завтра нужно сдать!!!!!!! Еще раз извините, но тех темах ничеего не поняда, заранее огромное спасибо!!!!!!!

Автор: klem4 15.10.2006 19:44

Ну вот попробуй разберерись как говорится smile.gif

function Compare(a, b: String): Integer;

function Min(a, b: Integer): Integer;
begin
if a < b then
Min := a
else
Min := b;
end;

var
i, n, lA, lB: Integer;
begin

lA := Length(a);
lB := Length(b);

n := Min(lA, lB);

i := 1;

while (i <= n) and (a[i] = b[i]) do inc(i);

if (i > n) then begin
if (lA = lB) then Compare := 0
else
if lA > lB then Compare := - 1
else Compare := 1;
end
else
if ord(a[i]) < ord(b[i]) then
Compare := 1
else
Compare := -1
end;


Copmare(a, b) = 0; // Строки одинаковые
Compare(a, b) = 1; // строка A < B, то есть : 'A' < 'B', 'AA' < 'AAA', 'ABB' < 'ABC'
Compare(a, b) = -1; // строка A > B, то есть : 'AZ' > 'AB'

Функция http://forum.pascal.net.ru/index.php?showtopic=2401 помоему вообще не верна !

strcmp('Hello', 'Hello World') = 0 ...

Автор: Странница 15.10.2006 20:05

Спасибочки!!!!!!!!.....))))))

Автор: volvo 15.10.2006 21:32

Цитата
Функция от сюда помоему вообще не верна !
yes2.gif Я бы вот так переписал:
function strcomp(key1, key2: string): integer;
var i, m, c: integer;
begin

c := 0;
m := length(ley1);
if m > length(key2) then m := length(key2);

for i := 1 to m do begin
c := ord(key1[i]) - ord(key2[i]);
if c <> 0 then break;
end;

if c = 0 then
c := length(key1) - length(key2);

if c <> 0 then strcmp := c div abs( c )
else strcomp := 0;

end;

Автор: shutka 13.05.2007 16:29

А как отсортированные данные на экран выводить??? У меня сортировка записей по одному из полей строкового типа...не получается...

Автор: Lapp 14.05.2007 15:28

Цитата(shutka @ 13.05.2007 13:29) *

...не получается...

Это не причина флудить. И учти: ты вредишь сама себе - флудерам отвечать тут не любят. Иди в свою тему и говори там про свои проблемы..