急啊!怎么取得一个整形数组里面三个最大的数? 各位高手,现在做项目遇到一个算法问题,就是已经有了一个数组,data[1..8],现在不知道怎样取得数组里最大的三个数,并记下它在数组中的序号i,小弟在线等。谢谢!!!!!!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 procedure TForm1.Button1Click(Sender: TObject);var sl: TStringList; i: integer;Const sa: Array[1..8] of integer = (9,2,5,4,0,6,3,8);begin sl := TStringList.Create; for i:=Low(sa) to High(sa) do sl.Add(IntToStr(sa[i])+'|'+IntToStr(i)); sl.Sort; if sl.Count>=3 then begin ShowMessage('最大的数为:'+Copy(sl.Strings[sl.Count-1], 1, Pos('|', sl.Strings[sl.Count-1])-1)+',在数组中的序号为:'+Copy(sl.Strings[sl.Count-1], Pos('|', sl.Strings[sl.Count-1])+1, Length(sl.Strings[sl.Count-1]))); ShowMessage('第二大的数为:'+Copy(sl.Strings[sl.Count-2], 1, Pos('|', sl.Strings[sl.Count-2])-1)+',在数组中的序号为:'+Copy(sl.Strings[sl.Count-2], Pos('|', sl.Strings[sl.Count-2])+1, Length(sl.Strings[sl.Count-2]))); ShowMessage('第三大的数为:'+Copy(sl.Strings[sl.Count-3], 1, Pos('|', sl.Strings[sl.Count-3])-1)+',在数组中的序号为:'+Copy(sl.Strings[sl.Count-3], Pos('|', sl.Strings[sl.Count-3])+1, Length(sl.Strings[sl.Count-3]))); end; FreeAndNil(sl);end; delphi 循环变量的问题 如何修改一个函数中的常量改为变量? 高分求图像边缘晕影效果.... QuickRep中为什么只能显示一条记录啊? 用delphi做游戏,也就是自娱自乐了 如何让图形精确的按照一条直线移动?????菜鸟问————谢谢 花了四五个小时才搞定不需要额外控件的XP风格界面和Listview问题,paint... 用Rectangle函数画矩形,用什么函数填充他里面的颜色? 有没有类似的函数?? 图像处理:颜色调整的方法? Delphi擂台赛第27期 关闭stayontop的窗体后,再打开,提示出错!
var
sl: TStringList;
i: integer;
Const
sa: Array[1..8] of integer = (9,2,5,4,0,6,3,8);
begin
sl := TStringList.Create;
for i:=Low(sa) to High(sa) do
sl.Add(IntToStr(sa[i])+'|'+IntToStr(i));
sl.Sort;
if sl.Count>=3 then
begin
ShowMessage('最大的数为:'+Copy(sl.Strings[sl.Count-1], 1, Pos('|', sl.Strings[sl.Count-1])-1)+',在数组中的序号为:'+Copy(sl.Strings[sl.Count-1], Pos('|', sl.Strings[sl.Count-1])+1, Length(sl.Strings[sl.Count-1])));
ShowMessage('第二大的数为:'+Copy(sl.Strings[sl.Count-2], 1, Pos('|', sl.Strings[sl.Count-2])-1)+',在数组中的序号为:'+Copy(sl.Strings[sl.Count-2], Pos('|', sl.Strings[sl.Count-2])+1, Length(sl.Strings[sl.Count-2])));
ShowMessage('第三大的数为:'+Copy(sl.Strings[sl.Count-3], 1, Pos('|', sl.Strings[sl.Count-3])-1)+',在数组中的序号为:'+Copy(sl.Strings[sl.Count-3], Pos('|', sl.Strings[sl.Count-3])+1, Length(sl.Strings[sl.Count-3])));
end;
FreeAndNil(sl);
end;