Вторник, 07.01.2025
Pascal 4 All
[ · Новые сообщения · Участники · Правила форума · Поиск · RSS ]

 

  • Страница 1 из 1
  • 1
Модератор форума: Seqular, Pavel  

ошибка
HumsterДата: Четверг, 12.05.2011, 00:31 | Сообщение # 1
Новичок
Группа: Пользователи
Сообщений: 2
Репутация: 0
Замечания: 0%
Статус: Offline
Code
uses crt;
var
hods : array[0..63] of byte;
make_hod : byte;
n : byte;
i : integer;
procedure outdat;
begin
gotoxy(1,1);
for i:= 0 to 63 do
begin
write(hods[i],' ');
if hods[i]<10 then write(' ');
if i mod 8=7 then writeln; end;
end;

procedure hod;
begin
inc(make_hod, 1);
if make_hod<64 then begin
hods[n] := make_hod;

if n>14 then
if (n mod 8<7) and (n div 8>1) and (hods[n - 15]= 0) then
begin n := n - 15; hod; n := n + 15; end;
if n>5 then
if (n mod 8<6) and (n div 8>0) and (hods[n - 6]= 0) then
begin n := n - 6; hod; n := n + 6; end;
if n<64 - 10 then
if (n mod 8<6) and (n div 8<7) and (hods[n + 10]= 0) then
begin n := n + 10; hod; n := n - 10; end;
if n<64 - 17 then
if (n mod 8<7) and (n div 8<6) and (hods[n + 17]= 0) then
begin n := n + 17; hod; n := n - 17; end;
if n<64 - 15 then
if (n mod 8>0) and (n div 8<6) and (hods[n + 15]= 0) then
begin n := n + 15; hod; n := n - 15; end;
if n<64 - 6 then
if (n mod 8>1) and (n div 8<7) and (hods[n + 6]= 0) then
begin n := n + 6; hod; n := n - 6; end;
if n>9 then
if (n mod 8>1) and (n div 8>0) and (hods[n - 10]= 0) then
begin n := n - 10; hod; n := n + 10; end;
if n>16 then
if (n mod 8>0) and (n div 8>1) and (hods[n - 17]= 0) then
begin n := n - 17; hod; n := n + 17; end;
end
else
begin
hods[N] := 64;
outdat;
gotoxy(1,10);
writeln('решение найдено');
outdat;
repeat until keypressed;
halt;
end;
hods[n] := 0; dec(make_hod);
end;
begin
clrscr;
gotoxy(1, 10);
writeln('Идет расчет');
n := 0;
make_hod := 0;
for i := 0 to 63 do hods[i] := 0;
hod;
repeat until keypressed;
end.

Program2.pas(10) : Переменная цикла for должна описываться в том же блоке, что и цикл for

что это значит?

Сообщение отредактировал Seqular - Суббота, 14.05.2011, 11:32
 
SeqularДата: Суббота, 14.05.2011, 11:35 | Сообщение # 2
Хранитель
Группа: Администраторы
Сообщений: 859
Репутация: 35
Статус: Offline
Ну технически - в цикле for в процедуре используется переменная i. Можешь описать её в разделе Var самой процедуры. Вообще, это не должно быть ошибкой, просто так не принято.

Поддерживаю также проект сообщество молодых сисадминов
 
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2025
Используются технологии uCoz
javascript:;" rel="nofollow" onclick="loginPopupForm(); return false;