// PascalABC.NET 3.1, сборка 1230 от 27.04.2016 begin var s:=ReadLines('in.txt').ToArray; var n:=StrToInt(s[0]); var a:=s[1].ToWords.Select(e->StrToInt(e)).ToArray; var f:=OpenWrite('out.txt'); Writeln(f,n,' - (кол-во чисел)'); foreach var e in a do Write(f,e,' '); Writeln(f); Writeln(f,'Среднее значение четных ', a.Where(x->x.IsEven).Average); Writeln(f,'Среднее значение нечетных ', a.Where(x->x.IsOdd).Average); f.Close end.
По заданным координатам двух клеток шахматной доски необходимо определить список шахматных фигур, которые могут перемещаться при игре за «белых» по правилам шахмат из первой координаты во вторую без взятия фигуры соперника.
Напомним, что для игры в шахматы используется доска размером 8х8. При этом горизонтальная координата нумеруется английскими буквами от «A» до «H», а вертикальная – цифрами от 1 до 8 снизу вверх. Таким образом, координата клетки состоит из буквы и цифры. Например, «H1» и «A8» – правый нижний и левый верхний углы соответственно.
Всего существует 6 шахматных фигур: ладья, слон, конь, ферзь, король и пешка. Опишем правила выполнения хода без взятия на свободной доске:
король ходит на расстояние 1 по вертикали, горизонтали или диагонали; ферзь ходит на любое расстояние по вертикали, горизонтали или диагонали; ладья ходит на любое расстояние по вертикали или горизонтали; слон ходит на любое расстояние по диагонали; к
begin
var s:=ReadLines('in.txt').ToArray;
var n:=StrToInt(s[0]);
var a:=s[1].ToWords.Select(e->StrToInt(e)).ToArray;
var f:=OpenWrite('out.txt');
Writeln(f,n,' - (кол-во чисел)');
foreach var e in a do Write(f,e,' '); Writeln(f);
Writeln(f,'Среднее значение четных ',
a.Where(x->x.IsEven).Average);
Writeln(f,'Среднее значение нечетных ',
a.Where(x->x.IsOdd).Average);
f.Close
end.
Файлы in.txt и out.txt находятся во вложении.
Содержимое файла out.txt:
15 - (кол-во чисел)
-22 49 33 47 -10 -1 20 -18 2 21 2 -25 21 -47 -36
Среднее значение четных -8.85714285714286
Среднее значение нечетных 12.25