程序找错

王朝知道·作者佚名  2009-06-23
窄屏简体版  字體: |||超大  
 
分類: 電腦/網絡 >> 程序設計 >> 其他編程語言
 
問題描述:

PROCEDURE aa;

CONST

max=20;

VAR

a:array[0..max,0..max] of integer;

m,i1,i2:integer;

PROCEDURE ww(k,n:integer);

var

i,j:integer;

begin

if n=2

then begin

a[k,0]:=k; a[k+1,0]:=k+1;

a[k,1]:=k+1; a[k+1,1]:=k;

end

else begin

ww(k,k+(n div 2)-1);

ww(k+(n div 2),k+n-1);

for i:=k to (n div 2)-1 do

for j:= k+(n div 2) to k+n-1 do

a[i,j]:=a[i+(n div 2),j-(n div 2)];

for i:=k+(n div 2) to k+n-1 do

for j:= k+(n div 2) to k+n-1 do

a[i,j]:=a[i-(n div 2),j-n div 2];

end;

end;

BEGIN

read(m);

ww(1,m);

for i1:=1 to m do

begin

for i2:=1 to m do

write(a[i1,i2],' ');

writeln;

end;

END.

帮帮忙,我怎么也过不了

參考答案:

ww(k,k+(n div 2)-1);

ww(k+(n div 2),k+n-1);

应该成:

ww(k,n div 2);

ww(k+(n div 2),n div 2);

呵呵,赛程问题吧

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航