Напишите программу, которая проверяет, можно ли получить из одного имени другое путем перестановки его букв. При этом регистром букв нужно пренебречь.
stop pots
Yes
abbc bac
No
написать на paskal
Аноним:
1) Pascal называется язык. 2) Т.е. задача сводится к тому, чтобы одновременно вычеркивать в обоих словах одинаковые буквы и если от обоих слов ничего не останется, значит решение есть?
Ответы
Ответ дал:
1
// PascalABC.NET 3.3, сборка 1627 от 27.01.2018
// Внимание! Если программа не работает, обновите версию!
begin
// вводим строку, перекодируем к нижнему регистру и делим на два слова
var a:=ReadlnString.ToLower.ToWords;
var (n1,n2):=(a[0].Length,a[1].Length); // длины слов
if n1<>n2 then begin Writeln('No'); exit end;
for var i:=1 to n1 do begin
var p:=Pos(a[0][i],a[1]);
if p=0 then begin Writeln('No'); exit end;
Delete(a[1],p,1)
end;
Writeln('Yes')
end.
Примеры
stop pots
Yes
aBbC bAc
No
ПароВоз ЗовоПар
Yes
// Внимание! Если программа не работает, обновите версию!
begin
// вводим строку, перекодируем к нижнему регистру и делим на два слова
var a:=ReadlnString.ToLower.ToWords;
var (n1,n2):=(a[0].Length,a[1].Length); // длины слов
if n1<>n2 then begin Writeln('No'); exit end;
for var i:=1 to n1 do begin
var p:=Pos(a[0][i],a[1]);
if p=0 then begin Writeln('No'); exit end;
Delete(a[1],p,1)
end;
Writeln('Yes')
end.
Примеры
stop pots
Yes
aBbC bAc
No
ПароВоз ЗовоПар
Yes
Вас заинтересует
1 год назад
2 года назад
2 года назад
3 года назад
3 года назад
8 лет назад
8 лет назад