В сформированной случайным образом строке заменить повторяющиеся символы нулями - Pascal ABC

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

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

1. Сформируйте случайным образом строку из 30 больших букв латинского алфавита и удалите повторяютщиеся символы, заменив их нулями. Выведите на экран сформированный массив и массив после обработки.

Решение задачи: «В сформированной случайным образом строке заменить повторяющиеся символы нулями»

textual
Листинг программы
const
    N = 30;
    ALPHABET: Set Of Char = ['A'..'Z'];
var
    ar: Array[1..N] Of Char;
    i: Byte;
    repeates: Set Of 'A'..'Z';
begin
    repeates := [];
    Randomize;
    Write('    Оригинальный массив:');
    for i := 1 to N do
    begin
        ar[i] := Chr(Random(26) + 65);
        Write(ar[i]:2);
        if (ar[i] in repeates)
        then
            ar[i] := '0'
        else
            Include(repeates, ar[i]);
    end;
    WriteLn; Write('Модифицированный массив:');
    for i := 1 to N do
        Write(ar[i]:2);
    WriteLn;
end.

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

  1. В начале кода объявляются необходимые переменные: N, ALPHABET и ar.
  2. Переменная ar представляет собой массив из N элементов типа Char.
  3. Переменная i представляет собой байт (8 бит) и используется для итерации по элементам массива ar.
  4. Переменная repeates представляет собой множество (Set), которое используется для отслеживания повторяющихся символов в массиве ar.
  5. Строка Модифицированный массив: выводится перед циклом, который заменяет повторяющиеся символы в массиве ar нулями.
  6. В цикле, который идет от 1 до N, происходит следующее:
    • ar[i] присваивается случайное число от 65 до 90 (так как в ASCII таблице от 65 до 90 есть только одна буква),
    • символ ar[i] добавляется в множество repeates, если он еще не там,
    • если символ ar[i] уже есть в repeates, то ему присваивается значение '0',
    • если символа нет в repeates, то он добавляется в множество.
  7. После цикла выводится модифицированный массив ar.

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


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

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

9   голосов , оценка 4.111 из 5
Похожие ответы