Отсортировать слова по количеству букв - QBasic
Формулировка задачи:
Задан одномерный массив слов А длины М. Слова составлены из символов. Отсортировать слова по количеству букв: самое короткое слово должно быть в начале массива, самое длинное - в конце. Слова с одинаковым количеством букв должны быть упорядочены по алфавиту.
Помогите пожалуйста
Решение задачи: «Отсортировать слова по количеству букв»
textual
Листинг программы
- CLS
- RANDOMIZE TIMER
- DIM A(1 TO 10) AS STRING
- DIM n AS INTEGER
- DIM m AS INTEGER
- FOR i = 1 TO 10
- n = 1 + 9 * RND
- FOR j = 1 TO n
- m = 128 + 31 * RND
- A(i) = A(i) + CHR$(m)
- NEXT j
- PRINT A(i)
- NEXT i: PRINT : PRINT
- FOR i = 1 TO 9
- FOR j = 1 TO 9
- IF LEN(A(j)) > LEN(A(j + 1)) THEN SWAP A(j), A(j + 1)
- NEXT j, i
- FOR i = 1 TO 9
- FOR j = 1 TO 9
- IF LEN(A(j)) = LEN(A(j + 1)) AND A(j) > A(j + 1) THEN
- SWAP A(j), A(j + 1)
- END IF
- NEXT j, i
- FOR i = 1 TO 10
- PRINT A(i)
- NEXT i
- END
Объяснение кода листинга программы
- Объявлены переменные:
- A(1 TO 10) AS STRING - массив из 10 строк
- n AS INTEGER - переменная для хранения количества букв в строке
- m AS INTEGER - переменная для хранения кода буквы
- i, j - индексы для обхода массива
- Заполнение массива A строками случайным образом
- Вывод на экран содержимого массива A
- Сортировка массива A по длине строки:
- Первая сортировка по возрастанию длины строки
- Вторая сортировка по убыванию длины строки и алфавиту (большие буквы после маленьких)
- Вывод на экран отсортированного массива A
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д