Re: Процедуры. Шахматная задача
Добавлено: 18 мар 2009, 22:58
А другие рисунки отображаются?dimka писал(а):Все равно нет такой кнопки у меня...(
А другие рисунки отображаются?dimka писал(а):Все равно нет такой кнопки у меня...(
Да, отображабтся.dr.Jekill писал(а):А другие рисунки отображаются?
Только что заметил, что в результирующем файле не выводится 8 строка.dr.Jekill писал(а):Код: Выделить всё
uses crt; var stroka,stolbec:integer; procedure horse(n,m:byte); var doska:array[1..8,1..8] of char; i,j:byte; f:text;name:string; begin for i:=1 to 8 do for j:=1 to 8 do begin if ((abs(i-n)=2) and (abs(j-m)=1)) or ((abs(j-m)=2) and (abs(i-n)=1)) then doska[i,j]:='*' else doska[i,j]:='0'; end; doska[n,m]:='K'; writeln('Zadaite imia i put dlia rezultiruiuschego faila: '); readln(name); writeln; if length(name)=0 then name:='c:/f_result.txt'; assign(f,name); rewrite(f); for i:=1 to 8 do begin j:=0; repeat j:=j+1; write(f,doska[i,j],' '); write(doska[i,j],' '); until j=8; writeln(f); writeln; end; writeln; writeln('Resultaty zapisanny v fail ',name); readln; end; begin repeat clrscr; writeln('Nomer stroki-> '); readln(Stroka); writeln('Nomer stolbca-> '); readln(Stolbec); until (stroka>0) and (stroka<=8) and (stolbec>0) and (stolbec<=8); horse(stroka,stolbec); end.
Вот и мне интересно... Вроде все нормально?!?...dr.Jekill писал(а):Да и правда. Интересно, почему на экране выводит?
Код: Выделить всё
program pr1;
var stroka, stolbec:byte;
procedure horse(n,m:byte);
var doska:array[1..8,1..8] of char; i,j:byte; f:text; name:string;
begin
for i:=1 to 8 do
for j:=1 to 8 do
begin
if (((abs(i-n)=2) and (abs(j-m)=1)) or ((abs(j-m)=2) and (abs(i-n)=1))) then
doska[i,j]:='*' else doska[i,j]:='0';
end;
doska[n,m]:='K';
writeln('zadaite imya i put dlya rezultiruyushego faila: ');
readln(name);
writeln;
if length(name)=0 then name:='c:/f_result.txt';
assign(f,name);
rewrite(f);
for i:=1 to 8 do
begin
for j:=1 to 8 do
begin
write(f,doska[i,j],' ');
write(doska[i,j],' ');
end;
writeln(f);
writeln;
end;
close(f);
writeln;
writeln('Rezultat v faile ', name);
readln;
end;
begin
repeat
writeln('nomer stroki ');
readln(stroka);
writeln('nomer stolbca ');
readln(stolbec);
until (stroka>0) and (stroka<=8) and (stolbec>0) and (stolbec<=8);
horse(stroka,stolbec);
end.