// PascalABC.NET 3.2, сборка 1353 от 27.11.2016 // Внимание! Если программа не работает, обновите версию!
function MaxSubstr(s1,s2:string):string; begin var a:=new integer[s1.Length+1,s2.Length+1]; var u:=0; var v:=0; for var i:=0 to s1.Length-1 do for var j:=0 to s2.Length-1 do if s1[i+1]=s2[j+1] then begin a[i+1,j+1]:=a[i,j]+1; if a[i+1,j+1]>a[u,v] then begin u:=i+1; v:=j+1 end end; Result:=s1.Substring(u-a[u,v],a[u,v]) end;
begin var s:='trapperkaperkatrter'; var t:='appekaperspamer'; Writeln(MaxSubstr(s,t)) end.
Вообщем так. 1. sin это арифметическое действие. Синус можно найти из 90 градусов например. А тут X>10. Из чего синус искать, из большего или может из меньшего? Правильной будет запись if x>10 then ... какое-то действие... sin(x) else ... sin (x); вообщем нельзя ставить оператор сравнения в арифметическое действие т.к. им задаются условия.
2. Попытка использовать арифметические операции с "false". 3. Выражение теряет смысл. And это логическая операция. Лог выражение должно быть вида A and B. Соответственно исправить можно так '(x=0) and (round(sqrt(x)) mod 2=0)' 4. Не пишут 2 or подряд т. к. теряется логика операции.
67 матроск -( симфолия)