Определить количество букв в первой последовательности, также встречающихся и во второй последовательности - Pascal ABC
Формулировка задачи:
Даны две последовательности символов(любых). Как определить количество букв в первой последовательности, также встречающихся и во второй последовательности? P.S. Входные данные только две строки, выходные: вывести на экран число - количество букв первой последовательности, повторяющихся во второй.
Решение задачи: «Определить количество букв в первой последовательности, также встречающихся и во второй последовательности»
textual
Листинг программы
const let:set of char=['a'..'z'];
var s1,s2:string;
m1,m2:set of char;
i,k:integer;
i1:char;
begin
write('s1 = ');readln(s1);
write('s2 = ');readln(s2);
m1:=[];m2:=[];k:=0;
for i:=1 to length(s1) do if s1[i] in let then include(m1,s1[i]);
for i:=1 to length(s2) do if s2[i] in let then include(m2,s2[i]);
for i1:='a' to 'z'do if (i1 in m1)and(i1 in m2) then inc(k);
writeln(k);
end.
Объяснение кода листинга программы
- В первой строке кода объявляются переменные
s1иs2, которые представляют собой строки. - Затем объявляются два множества символов
m1иm2, а также переменнаяk, которая будет использоваться для подсчета количества общих символов. - В следующих двух циклах происходит следующее:
- Первый цикл считывает символы из строк
s1иs2и добавляет их в множествоm1илиm2, если они присутствуют в соответствующей строке. - Второй цикл проверяет каждый символ из множества
m1иm2. Если символ присутствует в обоих множествах, то он увеличивает значение переменнойk.
- Первый цикл считывает символы из строк
- В последней строке выводится значение переменной
k, которое представляет собой количество общих символов.