Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Пример 7.4. Заданную последовательность слов переупорядочить в алфавитном




Порядке (то есть выполнить лексикографическое упорядочение).

Тест

Данные Результат
Words=(''стул'', ''гора'', ''яма'', ''стол'') Words=("гора", "стол", "стул", "яма")

Алгоритмический язык

( АЯ расширен добавлением типа данных лит таб и операций отношения

для литерных переменных)

алг Расположить по алфавиту(арг цел NWords, арг рез лит таб Words[1:NWords])

надо | Таблица Words упорядочена лексикографически

нач цел i, j, лит Tmp

нц для i от 1 до NWords-1

нц для j от i+1 до NWords

если Words[i]>Words[j] | условие перестановки слов

то Tmp:=Words[i]; Words[i]:=Words[j]; Words[j]:=Tmp

Все

Кц

Кц

Кон

Исполнение алгоритма

Turbo Pascal

Program LexOrder;

Uses Crt;

Var Words: Array[1..10] of String; {массив слов}

Tmp: String; {Tmp — вспомогательная переменная}

i, j, NWords: Integer; {NWords — количество слов}

BEGIN ClrScr;

Write('Количество слов в тексте — ');

ReadLn(NWords);

For i:= 1 to NWords do

begin Write(i, '-ое слово: ');

ReadLn(Words[i]);

end;

For i:= 1 to NWords-1 do {лексикографическое упорядочение слов}

For j:= i+1 to NWords do

If Words[i]>Words[j] then

begin

Tmp:= Words[i]; Words[i]:=Words[j]; Words[j]:=Tmp;

end;

WriteLn; WriteLn('О т в е т');

WriteLn('Лексикографически упорядоченный массив слов:');

For i:= 1 to NWords do Write(Words[i], ' ');

WriteLn; ReadLn;

END.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных