Написать программу, проверяющую, можно ли из русских букв составить данное слово 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.
Объяснение кода листинга программы
- Объявление переменных:
a
- двумерный массив символов размером 100x100s
- строка, которая будет проверяться на возможность составления из символов массиваa
sr
- строка, в которую будут сохраняться символы из массиваa
, которые составляют строкуs
b
- логическая переменная для контроля наличия символа изs
в массивеa
i
,j
,k
,n
,m
- целочисленные переменные для использования в циклах
- Ввод размеров массива:
- Пользователю предлагается ввести значения
n
иm
для создания массиваa
размеромn x m
- Пользователю предлагается ввести значения
- Ввод элементов массива:
- Пользователю предлагается ввести символы массива
a
построчно
- Пользователю предлагается ввести символы массива
- Ввод слова:
- Пользователю предлагается ввести проверяемое слово
s
- Пользователю предлагается ввести проверяемое слово
- Поиск символов из слова в массиве:
- Для каждой буквы в строке
s
проверяется, есть ли она в массивеa
- Если символ найден, он добавляется в строку
sr
и удаляется из массиваa
- Для каждой буквы в строке
- Проверка результатов:
- Сравнивается исходное слово
s
с сформированной строкойsr
- Если строки равны, выводится
можно
, иначенельзя
- Сравнивается исходное слово
- Ожидание нажатия клавиши:
- После вывода результата программа ожидает ввода любой клавиши перед завершением работы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д