Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.06.2010, 12:50   #1
student.bednyy
Новичок
Джуниор
 
Регистрация: 18.06.2010
Сообщений: 1
По умолчанию Программа про шахматы

помогите пожалуйста исправить вот эту программу.
Шахматную доску будем представлять в виде квадратного символьного
массива размера 8x8. Даны натуральные числа v1 и g1, указывающие
номера вертикали (при счете слева направо) и горизонтали (при счете
снизу вверх) для поля, на котором стоит белая шахматная фигура, и числа
v2 и g2 – указывающие соответствующие координаты второй черной
фигуры (1 v ≤ 1 ≤ 8, 1 g ≤ 1 ≤ 8, 1≤ v2 ≤ 8, 1≤ g2 е ≤ 8). Определить поля (отметить
их символом «+»), на которые может пойти первая фигура, не попав под
удар второй фигуры. Рассмотреть следующие варианты сочетаний первой
и второй фигур :конь и ферзь.

Нужно,чтобы при выводе результатов,фигуры с задаными координатами подписывались буквами K(конь) и F(ферзь).сейчас программа просто выдает плюсы.исправьте пожалуйста.

Код:
Program max1;
var a:array[-100..100,-100..100] of char;
v1,v2,g1,g2,i,j,k:integer;
begin
     writeln('введите координаты ферзя и коня');
     readln(v1,g1,v2,g2);
     for i:=1 to 8 do
     for j:=1 to 8 do
         begin
              a[v1,j]:='+';
              a[i,g1]:='+';
         end;
    for k:=1 to 8 do
      begin
       a[v1-k,g1-k]:='+';
        a[v1+k,g1+k]:='+';
         a[v1-k,g1+k]:='+';
          a[v1+k,g1-k]:='+';
       end;
     for i:=1 to 8 do
     for j:=1 to 8 do
         begin
              a[v2-2,g2-1]:=' ';
              a[v2-1,g2-2]:=' ';
              a[v2-2,g2+1]:=' ';
              a[v2-1,g2+2]:=' ';
              a[v2+1,g2-2]:=' ';
              a[v2+2,g2-1]:=' ';
              a[v2+2,g2+1]:=' ';
              a[v2+1,g2+2]:=' ';
         end;
     for i:=1 to 8 do
     for j:=1 to 8 do
         begin
              if a[i,j]<>'+' then a[i,j]:='-';
              write(a[i,j],' ');
              if j=8 then writeln;
         end;
     end.

Последний раз редактировалось Stilet; 18.06.2010 в 13:16.
student.bednyy вне форума Ответить с цитированием
Старый 18.06.2010, 15:16   #2
Z1000000
Форумчанин
 
Регистрация: 04.05.2010
Сообщений: 495
По умолчанию

Код:
Program max1;
var a:array[-100..100,-100..100] of char;
v1,v2,g1,g2,i,j,k:integer;
begin
     writeln('введите координаты ферзя и коня');
     readln(v1,g1,v2,g2);
     for i:=1 to 8 do
     for j:=1 to 8 do
         begin
              a[v1,j]:='+';
              a[i,g1]:='+';
         end;
    for k:=1 to 8 do
      begin
       a[v1-k,g1-k]:='+';
        a[v1+k,g1+k]:='+';
         a[v1-k,g1+k]:='+';
          a[v1+k,g1-k]:='+';
       end;
     for i:=1 to 8 do
     for j:=1 to 8 do
         begin
              a[v2-2,g2-1]:=' ';
              a[v2-1,g2-2]:=' ';
              a[v2-2,g2+1]:=' ';
              a[v2-1,g2+2]:=' ';
              a[v2+1,g2-2]:=' ';
              a[v2+2,g2-1]:=' ';
              a[v2+2,g2+1]:=' ';
              a[v2+1,g2+2]:=' ';
         end;
     a[v1,g1] := 'F';
     a[v2,g2] := 'K';
     for i:=1 to 8 do
     for j:=1 to 8 do
         begin
              if not (a[i,j] in ['+','K','F']) then a[i,j]:='-';
              write(a[i,j],' ');
              if j=8 then writeln;
         end;
     end.
Нажми на весы, поставь +
Для благодарностей : WebMoney WMR R252732729948
Z1000000 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Про шахматы Kirilllll Паскаль, Turbo Pascal, PascalABC.NET 2 27.05.2010 13:40
Программа про синус (на Си). Где закралась ошибка!? PPPPPP Помощь студентам 7 18.04.2010 21:58
программа про слова в файле Natasha141208 Помощь студентам 0 23.12.2009 22:25
программа про осадки (PASCAL) ex-hack Помощь студентам 1 06.06.2009 00:30
Программа на С про систему счисления. нужна подсказка Forward222 Помощь студентам 6 02.03.2009 20:38