Сортировка слов в строке по возрастанию их длины - Turbo Pascal
Формулировка задачи:
Необходимо переделать, что бы были процедуры
Программа сортирует слова в строке по возрастанию их длины
Решение задачи: «Сортировка слов в строке по возрастанию их длины»
textual
Листинг программы
type Arr = array[1..10] of string; var s: arr; n, i, j: integer; a, b: string; procedure Sort(n: integer; var x: arr); var i, j: integer; a: string; begin j := n; for i := 1 to j do for j := 1 to j do if Length(x[i]) < Length(x[j]) then begin a := x[i]; x[i] := x[j]; x[j] := a; end; end; begin writeln('введите строку'); readln(a); j := 1; for i := 1 to length(a) do begin b := a[i]; if b = ' ' then j := j + 1 else s[j] := s[j] + b; end; n := j; writeln(n); sort(n, s); writeln('-----------'); for i := 1 to n do write(s[i], ' '); end.
Объяснение кода листинга программы
- Создается тип данных
Arr
, который представляет собой массив строк длиной от 1 до 10. - Создается переменная
s
типаArr
. - Создаются три переменные
n
,i
иj
типаinteger
. - Создается переменная
a
типаstring
. - Вызывается процедура
Sort
с аргументамиn
иs
. - Выводится приглашение на ввод строки.
- Считывается строка с помощью функции
readln
. - Инициализируется переменная
j
равной 1. - Запускается цикл
for
, который проходит по каждому символу строки. - Внутри цикла считывается текущий символ строки и сохраняется в переменной
b
. - Проверяется, является ли символ пробелом. Если да, то увеличивается значение переменной
j
на единицу. - Иначе, к каждому символу строки добавляется текущий символ и сохраняется в переменной
s[j]
. - Увеличивается значение переменной
j
на единицу. - Выводится значение переменной
n
. - Вызывается процедура
sort
с аргументамиn
иs
. - Выводится прерывистая линия
-----------
. - Запускается цикл
for
, который проходит по каждому элементу массиваs
. - Выводится значение элемента массива
s[i]
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д