Лекция: Пример 18. Дан массив текстовых переменных. Отсортировать по всем знакам каждого слова в соответствии с алфавитом.

CLS

DATA «512»,«101»,«324»,«712»,«310»,«520»,«001»,«721» REM Формируем исходный массив A$ n = 8

DIM a$(n)

PRINT «Исходный массив»

FOR i = 1 TO n

READ a$(i)

PRINT " "; a$(i);

NEXT i

PRINT

REM Сортировка

FOR i = 1 TO n

FOR j = 1 TO n k = 1

IF ASC(MID$(a$(i), k, 1)) < ASC(MID$(a$(j), k, 1)) THEN

SWAP a$(i), a$(j) ELSE

IF ASC(MID$(a$(i), k, 1)) = ASC(MID$(a$(j), k, 1)) THEN

k = k + 1

END IF

IF MID$(a$(j), k, 1) = "" THEN SWAP a$(i), a$(j)

NEXT j

NEXT i

REM вводим отсортированный массив на экран

PRINT «Отсортированный»

FOR i = 1 TO n

PRINT " "; a$(i);

NEXT i

Результат:

Исходный массив 512 101 324 712 310 520 001 721

Отсортированный 001 101 310 324 520 512 712 721

Для других исходных данных:

Исходный

Яковлев А. Андреев Д., Сланов Р., Ананко Р., Ваниёва Р., Антонов И… Шейхов М, Гринберг Л., Галич Г., Сапин В.

Отсортированный

Ананко Р., Андреев Д., Антонов И.., Ваниева Р., Галич Г., Гринберг Л., Санин В., Сланов Р., Шейхов М., Яковлев А.

Работа программы. Алгоритм, как и многие программы сортировки, основан па сравнении слов во вложенных циклах. Внешний цикл со счетчиком i задает номер слова для анализа. Внутренний цикл со счетчиком j сравнивает это слово со всеми остальными и при необходимости меняет его на другое. Логической группой может быть не только язык или тип символов, но и отдельная переменная.

Пример 19. Состоит ли В$ только из символов, входящих в А$.

еще рефераты
Еще работы по информатике