Есть ответ 👍

Написать программу, которая определяет количество полей, которые находятся под боем этих фигур. На шахматной доске стоит ферзь и конь.

239
413
Посмотреть ответы 2

Ответы на вопрос:


var
    f, k, s : string;
    a : array [-1..10,-5..14] of byte;
    b : array [1..2,1..8] of integer;
    i, j, ife, jfe, ik, jk, ch : integer;
    f1, f2 : text;
begin
  assign(f1,'input.txt'); reset(f1);
  assign(f2,'output.txt'); rewrite(f2);
  s:='abcdefgh';
  b[1,1]:= 1; b[2,1]:= 2;
  b[1,2]:= 1; b[2,2]:=-2;
  b[1,3]:= 2; b[2,3]:= 1;
  b[1,4]:= 2; b[2,4]:=-1;
  b[1,5]:=-2; b[2,5]:= 1;
  b[1,6]:=-2; b[2,6]:=-1;
  b[1,7]:=-1; b[2,7]:= 2;
  b[1,8]:=-1; b[2,8]:=-2;
  readln(f1,f); readln(f1,k);
  jfe:=pos(f[1],s); ife:=ord(f[2])-48;
  jk:=pos(k[1],s); ik:=ord(k[2])-48;
  for i:=1 to 8 do
    for j:=1 to 8 do a[i,j]:=0;
  for i:=1 to 8 do
    for j:=1 to 8 do
    begin
      if (i=ife) then a[i,j]:=1;
      if (j=jfe) then a[i,j]:=1;
      if ( i-j=ife-jfe ) then a[i,j]:=1;
      if ( i+j=ife+jfe ) then a[i,j]:=1;
    end;
  for i:=1 to 8 do
    a[ik+b[1,i], jk+b[2,i]]:=1;
  a[ife,jfe]:=0; a[ik,jk]:=0;
  if ife=ik then
    if jfe<jk then for j:=jk+1 to 8 do a[ife,j]:=0
              else for j:=1 to jk-1 do a[ife,j]:=0;
  if jfe=jk then
    if ife<ik then for i:=ik+1 to 8 do a[i,jfe]:=0
              else for i:=1 to ik-1 do a[i,jfe]:=0;
  if ife-jfe=ik-jk then
    if ife<ik then for i:=ik+1 to 8 do a[i,i-ik+jk]:=0
              else for i:=1 to ik-1 do a[i,jk+i-ik]:=0;
  if ife+jfe=ik+jk then
    if ife<ik then for i:=ik+1 to 8 do a[i,jk+ik-i]:=0
              else for i:=1 to ik-1 do a[i,jk-i+ik]:=0;
  ch:=0;
  for i:=1 to 8 do
    for j:=1 to 8 do ch:=ch+a[i,j];
{Печать поля для проверки
  for i:=8 downto 1 do
  begin
    write(i,' ');
    for j:=1 to 8 do
      if (i=ife) and (j=jfe) then write('Ф') else
      if (i=ik) and (j=jk) then write('К') else
      if a[i,j]=1 then write('+') else write(' ');
      writeln
  end;
  writeln('  abcdefgh');
}
  writeln(f2,ch); close(f2)
end.

я считаю что это орех, ведь у него твёрдая скорлупа, и вкусная серединка : 3

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Другие предметы

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS