Для сред программирования DOS (например, Turbo Pascal) удалите фигурные скобки, для сред Windows (например, PascalABC.Net) строки в фигурных скобках удалите полностью. {uses Crt;} const n=80; digits=['0','1','2','3','4','5','6','7','8','9']; var s:string[80]; i:integer; begin {ClrScr;} Writeln('Введите текст (учитываются только 80 первых символов)'); Readln(s); for i:=1 to n do if s[i] in digits then Write(s[i]); Writeln; for i:=1 to n do if not(s[i] in digits) then Write(s[i]); Writeln; {ReadKey} end.
Тестовое решение: Введите текст (учитываются только 80 первых символов) Обь с притоком Иртыш 5410км, Амур с Аргунью 4440км, Лена 4400км, Енисей 4102км 5410444044004102 Обь с притоком Иртыш км, Амур с Аргунью км, Лена км, Енисей км
// F# [<EntryPoint>] let main argv = let rec ( ** ) x n = match n < 1 with | true -> 1 | false -> x * (x ** (n-1)) let rec sumDigits x = match x with | x when x < 10 -> (x, 1) | x -> let res = x / 10 |> sumDigits ((res |> fst) + (x % 10), (res |> snd) + 1) let isArmstrong x = let digitsInfo = sumDigits x x = (fst digitsInfo) ** (snd digitsInfo) let a = System.Console.ReadLine() |> System.Int32.Parse let b = System.Console.ReadLine() |> System.Int32.Parse let result = [a..b] |> List.filter (isArmstrong) printf "Result: %A" result System.Console.ReadKey true |> ignore 0
{uses Crt;}
const
n=80;
digits=['0','1','2','3','4','5','6','7','8','9'];
var
s:string[80];
i:integer;
begin
{ClrScr;}
Writeln('Введите текст (учитываются только 80 первых символов)');
Readln(s);
for i:=1 to n do
if s[i] in digits then Write(s[i]);
Writeln;
for i:=1 to n do
if not(s[i] in digits) then Write(s[i]);
Writeln;
{ReadKey}
end.
Тестовое решение:
Введите текст (учитываются только 80 первых символов)
Обь с притоком Иртыш 5410км, Амур с Аргунью 4440км, Лена 4400км, Енисей 4102км
5410444044004102
Обь с притоком Иртыш км, Амур с Аргунью км, Лена км, Енисей км