讨论 / 求助啊 无效浮点操作
elmo_lf 2012-11-06 16:34:00
点我顶贴 收藏 删除
神马叫无效浮点操作

~~

type node=record nu,av,fch:longint;end;

var

inf:array[0..1000] of node;

s:longint;

ava,fc:array[0..10] of longint;

sum,sum2,n,m,k,i,j:longint;

procedure qsort(l,r:longint);

var i,j:longint;

t:node;

begin

i:=l;j:=r;t:=inf[i];

while i<j do begin

while (i<j)and((inf[j].av<t.av)or((inf[j].av=t.av)and(inf[j].fch>t.fch))or((inf[j].av=t.av)and(inf[j].fch=t.fch)and(inf[j].nu>t.nu))) do dec(j);

if i<j then begin inf[i]:=inf[j];inc(i);end;

while (i<j)and((inf[i].av>t.av)or((inf[i].av=t.av)and(inf[i].fch<t.fch))or((inf[i].av=t.av)and(inf[i].fch=t.fch)and(inf[i].nu<t.nu))) do inc(i);

if i<j then begin inf[j]:=inf[i];dec(j);end;

end;

inf[i]:=t;

if l<i-1 then qsort(l,i-1);

if i+1<r then qsort(i+1,r);

end;

begin

readln(n,m,k);

for i:=1 to n do begin

sum:=0;

sum2:=0;

for j:=1 to k do begin

read(s);

inc(sum,s);

sum2:=sum2+s*s;

end;

ava[i]:=trunc(sum/k);

fc[i]:=trunc((sum2-k*ava[i]*ava[i])/k);

readln;

end;

for i:=1 to n do begin

inf[i].nu:=i;

inf[i].av:=ava[i];

inf[i].fch:=fc[i];

end;

qsort(1,n);

for i:=1 to m do

write(inf[i].nu,' ');

writeln;

end.

错哪了呢??

#1 elmo_lf@2012-11-06 16:34:00
回复 删除
o

啊oh 数组开小了...囧...

查看更多回复
提交回复