(pascal问题) program exited with exitcode = 201

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(pascal问题) program exited with exitcode = 201相关的知识,希望对你有一定的参考价值。

程序编译的时候没问题
运行的时候没有运行完就退出了
显示上述错误
麻烦大虾帮忙看看

这是蛇型数阵的程序


输入
n=4
输出
10 11 12 1
9 16 13 2
8 15 14 3
7 6 5 4

(本人发现,当x=kn-b时,方向应改变)

program xxx;
type
direction=(up,down,left,right);

var
a:array[1..10,1..10] of integer;
i,j,n,x,k,b:integer;
di:direction;

procedure create(var n:integer; i,j:integer); 初始化
var
ii,jj:integer;
begin
write('input n=');
readln(n);
ii:=i;
jj:=j;
for ii:= 1 to n do
for jj:=1 to n do
a[i,j]:=0;
end;

procedure change(var di:direction; var k,b:integer);改变方向
begin
if x=k*n-b then
begin
case di of
down: di:=left;
left: di:=up;
up: di:=right;
right:di:=down;
end;
inc(k);
b:=k div 2 + b;
end;
end;

procedure move(var i,j:integer; di:direction);移动
begin
case di of
down: inc(j);
left: dec(i);
up: dec(j);
right: inc(i);
end;
end;

procedure output(n:integer); 输出
var
ii,jj:integer;
begin
for ii:=1 to n do
begin
for jj:=1 to n do
write(a[i,j]:4);
writeln;
end;
readln;
end;

begin main
create(n,i,j);
i:=1;
j:=n;
k:=1;
b:=0;
di:=down;
for x:=1 to sqr(n) do
begin
a[i,j]:=x;
change(di,k,b);
move(i,j,di);
end;
output(n);
readln;
end.
你是直接复制源码吗?
我上次是因为上不了网
在TP中重新打了一次
就行了
以上提供的源码的问题我不想找了
我会尽快把正确的源码贴上来的

exitcode=201是range check error,也就是说数组越界了,建议往这个方向找bug
你的程序写的太繁琐,注释又不甚明了,没仔细看,估计也没人会仔细看
给你一个思路吧
每给一个格子填上数字之后,如果还没填完,依次判断当前格子右、下、左、上方的格子是否未填入数字(如果还在矩阵内的话),直道找到一个未填的格子,然后在找到的这个格子里就要填入下一个数
参考技术A 201是溢出,
你在转变方向的时候,肯定有方向'>'或'<'数组下标,所以,在添数字时,要判断是否处在范围内。
另外,你的代码太长,可以递归求解,这样只需一个指针。
思路:递归转过一圈后,所有边界减一,继续递归。(要判断奇偶数)

回答补充:你这个程序,别说fp,啥p也调不出来,我用fp,pascal ide分别试了一下,输入4显示出四行{13 13 13 13}。
至于你说tp下调可以调通,我想知道怎么通的,因为我用tp调,出来的是file access denied.
{代码是直接复制的,没有丝毫改动}
参考技术B 这道题运用了分治的方法,以下包括了过程,递归,赋值等方法.

以上是关于(pascal问题) program exited with exitcode = 201的主要内容,如果未能解决你的问题,请参考以下文章

线段树模板合集(CodeVS1080 1081 1082 4597)Pascal代码

fatal exception occurred program will exit错误原因之一。

fatal exception occurred program will exit错误原因之一。

MyEclipse运行Java出错:could not find the main class:test.program will exit(导入项目)

Could not find the main class.Program will exit.

Can't exit loop in Deaf Grandma from Learn to Program by Chris Pine