Отсортировать слова по количеству букв - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д