Замечание: можно здесь обойтись и без переменной translatedText в функции.
var translatedText:string; function translate(s:string):string; const gl:set of char= ['А','Е','Ё','И','О','У','Ы','Э','Ю','Я','а','е','ё','и','о','у','ы','э','ю','я']; zn:set of char=['.',',','-','!','?','"',':']; var i:integer; begin for i:=length(s) downto 1 do if s[i] in gl+zn then delete(s,i,1); while pos(' ',s)>0 do delete(s,pos(' ',s),1); translate:=s; translatedText:=s; end; begin translate('Удивительный факт, но текст на языке НЕРАЗБОРЧИВО оказывается довольно просто читать. Достаточно небольшой тренировки - и вы сможете это делать.'); writeln(translatedText); end.
Результат:двтльнй фкт н ткст н зк НРЗБРЧВ кзвтс двльн прст чтть Дсттчн нбльшй трнрвк в смжт т длть
e-s-i-k
14.03.2023
// PascalABC.NET 3.3, сборка 1583 от 25.11.2017 // Внимание! Если программа не работает, обновите версию!
begin var p:=ArrRandom(40,-99,99); p.Println; // максимум среди четных var max:=p.Select((v,i)->(v,i)).Where(t->t[1].IsOdd).Max(t->t[0]); // первый из четных индексов элементов, равных max var im:=p.IndexesOf(t->t=max).Where(t->t.IsOdd).First; // домножаем... for var i:=0 to im-1 do p[i]*=max; p.Println end.
Самый короткий путь будет между пунктами
ADE протяжённость равна 2 километра.