Сформировать одномерный массив, заполнив его случайными числами - Free Pascal
Формулировка задачи:
Итак, задача:
Сформировать одномерный массив, заполнив его случайными числами латинского алфавита, отсортировав по правилу: сначала идут строчные гласные, затем прописные согласные, потом строчные согласные, а после прописные гласные.
PS. Строчные буквы - маленькие буквы, прописные - большие (заглавные)
Очень надеюсь на вашу помощь!
Решение задачи: «Сформировать одномерный массив, заполнив его случайными числами»
textual
Листинг программы
var a :array[1 .. 1000] of char; d :array[0 .. 256] of longint; n, i, j :longint; c :char; function get(x :char) :longint; begin if (x in ['a' .. 'z']) then begin if (x in ['a', 'e', 'o', 'i', 'y', 'u']) then get := 4 else get := 2; end else begin if (x in ['A', 'E', 'O', 'I', 'Y', 'U']) then get := 1 else get := 3; end; end; begin read(n); randomize; for i := 1 to n do begin a[i] := char(random(26) + ord('a')); if (random(2) = 1) then a[i] := upcase(a[i]); write(a[i]); end; writeln(); for i := 1 to n do for j := 1 to n - 1 do if (get(a[j]) < get(a[j + 1])) then begin c := a[j]; a[j] := a[j + 1]; a[j + 1] := c; end; for i := 1 to n do write(a[i]); end.
Объяснение кода листинга программы
- В коде используется язык программирования Free Pascal.
- Задачей программы является формирование одномерного массива, заполнение его случайными числами и сортировка полученного массива.
- В первой части кода объявляются переменные: a — массив из 1000 символов; d — массив из 256 длинных целых чисел; n, i, j — длинные целые числа; c — символ.
- Функция get(x:char) возвращает число, определяющее позицию символа x в алфавите.
- В цикле происходит заполнение массива a случайными символами из алфавита.
- В каждой итерации цикла выполняется проверка, является ли текущий символ 'a' или 'A'. Если это так, то к текущему символу добавляется 4, если нет — 2.
- В цикле выполняется сортировка массива a методом пузырька.
- В последней части кода выводится отсортированный массив a.