Отсортировать слова по количеству букв - QBasic

Узнай цену своей работы

Формулировка задачи:

Задан одномерный массив слов А длины М. Слова составлены из символов. Отсортировать слова по количеству букв: самое короткое слово должно быть в начале массива, самое длинное - в конце. Слова с одинаковым количеством букв должны быть упорядочены по алфавиту. Помогите пожалуйста

Решение задачи: «Отсортировать слова по количеству букв»

textual
Листинг программы
  1. CLS
  2. RANDOMIZE TIMER
  3. DIM A(1 TO 10) AS STRING
  4. DIM n AS INTEGER
  5. DIM m AS INTEGER
  6.  
  7. FOR i = 1 TO 10
  8.    n = 1 + 9 * RND
  9.    FOR j = 1 TO n
  10.       m = 128 + 31 * RND
  11.       A(i) = A(i) + CHR$(m)
  12.    NEXT j
  13.    PRINT A(i)
  14. NEXT i: PRINT : PRINT
  15.  
  16. FOR i = 1 TO 9
  17. FOR j = 1 TO 9
  18.    IF LEN(A(j)) > LEN(A(j + 1)) THEN SWAP A(j), A(j + 1)
  19. NEXT j, i
  20.  
  21. FOR i = 1 TO 9
  22. FOR j = 1 TO 9
  23.    IF LEN(A(j)) = LEN(A(j + 1)) AND A(j) > A(j + 1) THEN
  24.       SWAP A(j), A(j + 1)
  25.    END IF
  26. NEXT j, i
  27.  
  28. FOR i = 1 TO 10
  29.    PRINT A(i)
  30. NEXT i
  31. END

Объяснение кода листинга программы

  1. Объявлены переменные:
    • A(1 TO 10) AS STRING - массив из 10 строк
    • n AS INTEGER - переменная для хранения количества букв в строке
    • m AS INTEGER - переменная для хранения кода буквы
    • i, j - индексы для обхода массива
  2. Заполнение массива A строками случайным образом
  3. Вывод на экран содержимого массива A
  4. Сортировка массива A по длине строки:
    • Первая сортировка по возрастанию длины строки
    • Вторая сортировка по убыванию длины строки и алфавиту (большие буквы после маленьких)
  5. Вывод на экран отсортированного массива A

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.231 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы