Склавиатуры вводится две строки. символы в них не повторяются, т.е. стоят в разнобой. вывести на экран только те символы, которые являются общими. используя множества!

ayselhasilova ayselhasilova    2   10.07.2019 02:50    0

Ответы
Sillyteenager Sillyteenager  07.08.2020 19:21
Решение задачи - в прилагаемом файле
ПОКАЗАТЬ ОТВЕТЫ
ganjaman007 ganjaman007  07.08.2020 19:21
"Школьный вариант" (чтобы помучиться):
// PascalABC.Net 3.0б сборка 1066
var
  s1,s2:string;
  p,q:set of char;
  i:integer;
  c:char;
begin
  Write('Введите первую строку: '); Readln(s1);
  Write('Введите вторую строку: '); Readln(s2);
  p:=[]; q:=[];
  for i:=1 to Length(s1) do Include(p,s1[i]);
  for i:=1 to Length(s2) do Include(q,s2[i]);
  p:=p*q;
  for c:=' ' to Chr(255) do
    If c in p then Write(c,' ');
  Writeln
end.
 
Тестовое решение:
Введите первую строку: Карл у Клары украл кораллы
Введите вторую строку: Клара у Карла украла кларнет
  К а к л р у

Современный вариант:
// PascalABC.Net 3.0б сборка 1066
begin
  var s1:=ReadlnString('Введите первую строку: ');
  var s2:=ReadlnString('Введите вторую строку: ');
  Writeln('Общие символы в строках: ',s1.Intersect(s2).Sorted);
end.

Тестовое решение:
Введите первую строку:  Карл у Клары украл кораллы
Введите вторую строку:  Клара у Карла украла кларнет
Общие символы в строках: [ ,К,а,к,л,р,у]
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика