Общее решение, позволяющее удалять из строк любой "мусор"
// PascalABC.Net 3.0, сборка 1066 procedure CheckString(var s:string; var n:integer); var i:integer; begin i:=Length(s); while i>0 do begin if not(s[i] in ['a'..'z']) then Delete(s,i,1); Dec(i) end; n:=Length(s) end;
var s1,s2:string; i,p,n1,n2:integer; begin Write('Введите первую строку: '); Readln(s1); CheckString(s1,n1); if n1=0 then Writeln('Введенная строка не содержит допустимых символов') else begin Write('Введите вторую строку: '); Readln(s2); CheckString(s2,n2); if n2=0 then Writeln('Введенная строка не содержит допустимых символов') else { теперь обе строки содержат только маленькие латинские буквы } if n1=n2 then begin for i:=1 to n1 do begin p:=Pos(s1[i],s2); if p=0 then Break else Delete(s2,p,1) end; if Length(s2)=0 then Writeln('Решение имеется') else Writeln('Решения нет') end else Writeln('Решения нет'); end end.
Тестовое решение: Введите первую строку: this is my own deal! Введите вторую строку: Тест: *is now=l2ead my sthi? Решение имеется
Также имеется современное решение, которому пока что в школах не учат: // PascalABC.Net 3.0, сборка 1066 begin var s1:=ReadString('Введите первую строку: ').Where(x->x in ['a'..'z']); if s1.Count=0 then Writeln('Введенная строка не содержит допустимых символов') else begin var s2:=ReadString('Введите вторую строку: ').Where(x->x in ['a'..'z']); if s2.Count=0 then Writeln('Введенная строка не содержит допустимых символов') else if s1.Except(s2).Count>0 then Writeln('Решения нет') else Writeln('Решение имеется') end end.
Using System; namespace Fractions{ public struct Fraction : IComparable<Fraction> { public Fraction(int numerator, int denominator) { Numerator = numerator; Denominator = denominator; } public int Numerator; public int Denominator; public int CompareTo(Fraction other) { return (Numerator * other.Denominator).CompareTo(other.Numerator * Denominator); } } public class Program { static void Main(string[] args) { int numerator, denominator; Console.Write("Числитель первой дроби "); numerator = int.Parse(Console.ReadLine()); Console.Write("Знаменатель первой дроби "); denominator = int.Parse(Console.ReadLine()); var fraction1 = new Fraction(numerator, denominator); Console.Write("Числитель второй дроби "); numerator = int.Parse(Console.ReadLine()); Console.Write("Знаменатель второй дроби "); denominator = int.Parse(Console.ReadLine()); var fraction2 = new Fraction(numerator, denominator); var compareResult = fraction1.CompareTo(fraction2); if (compareResult < 0) Console.WriteLine("<"); else if (compareResult > 0) Console.WriteLine(">"); else // = 0 Console.WriteLine("="); } }}
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку