Замена чисел в массиве на буквы - Pascal

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

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

Есть массив с типом longint, как заменить в этом массиве определенное число буквой? (например все числа 1 заменить буквой а, все числа 13 буквой д)

Решение задачи: «Замена чисел в массиве на буквы»

textual
Листинг программы
  1. var
  2.     n, cnt :longint;
  3.     a :array[1 .. 10000] of longint;
  4.  
  5. function IsPrime(x :longint) :boolean;
  6. var p :longint;
  7. begin
  8.  
  9.     IsPrime := true;
  10.     p := 2;
  11.     while (p * p <= x) do begin
  12.         if (x mod p = 0) then
  13.             IsPrime := false;
  14.         p := p + 1;
  15.     end;
  16.    
  17. end;
  18.  
  19. procedure rec(x, last :longint);
  20. var i :longint;
  21. begin
  22.     if (x = 0) then begin
  23.         for i := 1 to cnt do
  24.             write(a[i], ' ');
  25.         writeln;
  26.         exit();
  27.     end;
  28.    
  29.     if cnt < 10 then        { <-- здесь условие на количество слагаемых }
  30.     for i := last to x do   { <-- цикл разложения числа на слагаемые }
  31.         if (IsPrime(i)) then begin
  32.             inc(cnt);
  33.             a[cnt] := i;
  34.             rec(x - i, i);
  35.             dec(cnt);
  36.         end;
  37.     for i:=1 to n do       { <-- замена определенных чисел на буквы }
  38.         case a[i] of
  39.             2:write('а',' ');
  40.             3:write('д',' ');
  41.             else write(a[i],' ');
  42. end;
  43. end;
  44.  
  45. begin
  46.     readln(n);
  47.     rec(n, 2);
  48. end.

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

  1. Объявление переменных:
    • n - целочисленная переменная для хранения числа
    • cnt - целочисленная переменная для хранения счетчика
    • a - массив из 10000 целочисленных элементов
  2. Функция IsPrime(x) - проверка числа на простоту:
    • Входной параметр: x - целое число для проверки
    • Локальная переменная p - целое число
    • Функция возвращает логическое значение: true, если число простое, иначе false
  3. Процедура rec(x, last) - рекурсивное разложение числа на слагаемые:
    • Входные параметры: x - целое число, которое нужно разложить, last - последнее простое число
    • Локальная переменная i - целое число
    • Если x равно 0, выводятся слагаемые, иначе выполняется цикл разложения числа на слагаемые
    • После разложения числа на слагаемые, определенные числа заменяются на соответствующие буквы (2 на а, 3 на д, остальные остаются числами)
  4. Основная часть программы:
    • Считывание значения переменной n
    • Вызов процедуры rec(n, 2) Этот код берет целое число n, разлагает его на простые числа и заменяет определенные числа на буквы.

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


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

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

11   голосов , оценка 4.091 из 5

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

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

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