帮我看一下我的程序哪里错了,显示201错误!!本人小白看不出来!!
var o,z,k,m,i,n,t:integer;
a,b:array[1..10000] of longint;
begin
readln(n);
for i:= 1 to n do read(a[i]);
k:=n;
repeat
for i:= 1 to k-1 do
if (a[i+1]<a[i] ) then begin t:=a[i]; a[i]:=a[i+1];a[i+1]:=t;
end;
k:=k-1;
until k=1;
begin
m:=1;
o:=1;
z:=1;
for i:= 1 to n doinc(b[o]); ao
repeat
if (a[z]=a[z+1]) then begin ]); [z]:=0; end;
if (a[z]<>a[z+1]) then begin inc(o); inc(b[end;
inc(z);
until z=n-1;
end;begin if (a[i]<>0) then write(a[i],b[o]); end;
end.
sorry那是排版排错了,以下才是
var o,z,k,m,i,n,t:integer;
a,b:array[1..10000] of longint;
begin
readln(n);
for i:= 1 to n do read(a[i]);
k:=n;
repeat
for i:= 1 to k-1 do
if (a[i+1]<a[i] ) then begin t:=a[i]; a[i]:=a[i+1];a[i+1]:=t;
end;
k:=k-1;
until k=1;
begin
m:=1;
o:=1;
z:=1;
for i:= 1 to n do
repeat
if (a[z]=a[z+1]) then begin inc(b[o]); a[z]:=-1; end;
if (a[z]<>a[z+1]) then begin inc(o); inc(b[o]); end;
inc(z);
until z=n-1;
end;begin if (a[i]<>0) then write(a[i],b[o]); end;
end.
我也知道是下标溢出,我是看了半天不知是哪溢出啊!
Pascal程序201错误
201 Range check error 如果你编译你的程序时设置了方位检查,原因有可能是:数组访问超过了声明的范围.试图给一个变量赋值超过其范围(例如枚举类型).
pascal 201错误
你的错误主要在f数组上,开到n是不够的因为你不能保证在f[a+d-c+k]or f[a+k]or f[d-b+a+k]中都不超过f[16],所以保险开到1000,其实不占多少空间,不用这样省的。我改完应该就可以了
如何解决Pascal中的erroe 201
你设的数据溢出了,方法如2楼的解决(我改了一下):real->extended {free pascal独有,不过有可能要开开关!} integer->longint {这个是longint!楼上的都错了!} longint->int64 {pascal独有,非常之大!!!}
FreePascal高手看看问题出在哪里?显示错误201
1、首先,你的‘ch'与'kh'数组的下限不是1,而是0 2、while gao<>1 do 这句话是错误的,二进制的1并非只有末尾有 3、 i:=i+1; gao:=kh[i]; 此时i在循环前的初值是32767,应为’i:=i-1‘那么,这是我改进的程序:var ch,kh:array[0..32767] of longint;i:longint;num,gao...
pascal 更相减损法求最大公约数 输入m>n时 正常 输入m<n时 错误201...
你好,我想你也是今年noip的学生把,我也是的,这个程序总的来说还是没有大的问题的,你之所以 输入m>n时 正常 输入m<n时 错误201 是因为在m>n时这个是不用调用过程的,所以可以肯定的是你的过程出了错误。procedure f(m,n:integer); 这一步,开始你的定义是形式参数,而你的过程是交换m,...
pascal编程错误:exitcode=201
main 应该赋值为 longint;integer 能接受的最大值是32767,而8的阶乘为40320,超出了integer 的范围;7 的阶乘为5040,仍在integer 范围内;一般求阶乘等解的值可能较大的题时,用较大范围的数据类型;实在不行,用real,输出时加双场宽就行了。
pascal为什么总是出现错误201?清零个数组都是错误201!?
下标溢出,很容易犯的错,我也经常这样,特别是在有子程序或递归时常出现
Free Pascal runtime error 201 at $00416AE 怎么解决?
n-1的值为3 m的循环范围是从n-1到1,也就是从3到1 当m=1的时候,a[n,m]:=a[n,m-1]+1 此时的m-1等于0 也就是把a[n,m]的值赋值为a[n,m-1]+1的值 而a[n,m-1]是数组a的4行0列,超出了原先定义的1..20,1..20的范围 所以出现201的溢出错误 希望我的回答有所帮助 ...
free pascal 的问题:program exited with exitcode=201 向大虾求助
没错误啊,你把这个输进去看看 var a,b,c,d,e,f,g,h,i,j,j1,j2,j3,j4,j5:integer;begin readln(b,c,d,e,f,g,h,i);a:=b+c+d+e+f+g+h+i;j:=a mod 10;j1:=a div 10;j2:=j+j1;if j2<10 then writeln(j2) else j3:=j2 mod 10;j4:=j2 div 10;j5:=j4+j3;wr...
Pascal- 寻宝问题(求纠错~)
random有时候会产生负数,应该是这样,你可以加一个abs来。201是数组越界,你看看哪里的数组下标出错。或者你把数组的范围改大点。