Написать программу, проверяющую, можно ли из русских букв составить данное слово S - Pascal

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

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

Двумерный массив n×m содержит некоторые буквы русского алфавита, расположенные в произвольном порядке. Написать программу, проверяющую, можно ли из этих букв составить данное слово S. Каждая буква массива используется не более одного раза. Помогите пожалуйста.

Решение задачи: «Написать программу, проверяющую, можно ли из русских букв составить данное слово S»

textual
Листинг программы
var
  a:array[1..100,1..100] of char;
  s,sr:string;
  b:boolean;
  i,j,k,n,m:integer;
begin
  write('n=');readln(n);
  write('m=');readln(m);
  writeln('Введите массив a[',n,',',m,'] по строкам');
  for i:=1 to n do begin
    for j:=1 to m do read(a[i,j]);
    readln;
  end;
  write('Введите слово:');readln(s);
  for k:=1 to length(s) do begin
    b:=false;
    for i:=1 to n do
      for j:=1 to m do
        if not b then if a[i,j]=s[k] then begin
          b:=true;
          sr:=sr+a[i,j];
          a[i,j]:=#0;
         end;
    end;
    if s=sr then writeln('можно') else writeln('нельзя');
  readln;
end.

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

  1. Объявление переменных:
    • a - двумерный массив символов размером 100x100
    • s - строка, которая будет проверяться на возможность составления из символов массива a
    • sr - строка, в которую будут сохраняться символы из массива a, которые составляют строку s
    • b - логическая переменная для контроля наличия символа из s в массиве a
    • i, j, k, n, m - целочисленные переменные для использования в циклах
  2. Ввод размеров массива:
    • Пользователю предлагается ввести значения n и m для создания массива a размером n x m
  3. Ввод элементов массива:
    • Пользователю предлагается ввести символы массива a построчно
  4. Ввод слова:
    • Пользователю предлагается ввести проверяемое слово s
  5. Поиск символов из слова в массиве:
    • Для каждой буквы в строке s проверяется, есть ли она в массиве a
    • Если символ найден, он добавляется в строку sr и удаляется из массива a
  6. Проверка результатов:
    • Сравнивается исходное слово s с сформированной строкой sr
    • Если строки равны, выводится можно, иначе нельзя
  7. Ожидание нажатия клавиши:
    • После вывода результата программа ожидает ввода любой клавиши перед завершением работы.

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


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

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

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