急,一个简单的问题(100分)

  • 主题发起人 主题发起人 zsl448
  • 开始时间 开始时间
Z

zsl448

Unregistered / Unconfirmed
GUEST, unregistred user!
请教个简单的delphi问题

我现在想做一个小程序,要求是这样的。
在文本框里随机输入12个数字,然后把这些数字分成4个组,即排在第1、5、9位数为第一组,排2、6、10为第二组,排3、7、11为第三组,4、8、12为第四组。然后每一组的数字相加从最大排列就行了。
你说用delphi该怎么写

比如:
(2004-06-11 09:35:07) 囨囚囨図
比如输入的12个数(在文本框用空格隔开):
2 10 8 2 11 13 6 8 9 3 3 2

折分成四个组并计算,
2+11+9=22 (第1、5、9位的数相加)
10+13+3=26 (第2、6、10位的数相加)
8+6+3=17 (第3、7、11位的数相加)
2+8+2=12 (第4、8、12位的数相加)

得出来的结果是
10+13+3=26
2+11+9=22
8+6+3=17
2+8+2=12
 
高手都在哪啊,怎么没有人回答
 
可以用变量,或者用数组
 
如果写死的话,非常简单啊,不明白你想实现什么
 
简单,代码如下:加分(:D)
type
TDisplay=Record
disText : string;
totals:integer;
end;
TDisplayStr=array[1..4] of TDisplay;

procedure TForm1.Button1Click(Sender: TObject);
var
InputStrs:TStringList;
i,j,tmpTotals:integer;
DisplayStr:TDisplayStr;
tmpDisplayStr:string;
begin
InputStrs:=TStringList.Create;
InputStrs.text:=StringReplace(Edit1.Text,' ',#13#10,[rfReplaceAll]);
//分组计算
for i:=1 to 4 do
begin
DisplayStr.distext:=InputStrs[i-1]+'+'+InputStrs[i+3]+'+'+InputStrs[i+7]+'=';
DisplayStr.totals:=strtoint(InputStrs[i-1])+strtoint(InputStrs[i+3])+strtoint(InputStrs[i+7]) ;
Listbox2.Items.Add(DisplayStr.disText+inttostr(DisplayStr.totals));
end;
//排序冒泡
for i:=1 to 3 do
for j:=4 downto i+1 do
if DisplayStr.totals<DisplayStr[j].totals then
begin
tmptotals:=DisplayStr.totals;
DisplayStr.totals:=DisplayStr[j].totals;
DisplayStr[j].totals:=tmptotals;
tmpDisplayStr:=DisplayStr.distext;
DisplayStr.distext:=DisplayStr[j].distext;
DisplayStr[j].distext:=tmpDisplayStr;
end;
//显示LISTBOX中
for i:=1 to 4 do
Listbox1.Items.Add(DisplayStr.disText+inttostr(DisplayStr.totals));
end;
调试通过,结果正确,立刻加分!!:)
源动力来自你的分。。。
 
樓上的牛!!
 
接受答案了.
 
var
abc:String;
I,j:integer;
list:Tstringlist;
begin
abc:='0';
memo1.Clear;
edit1.text:='2 10 8 2 11 13 6 8 9 3 3 2';
list:=TStringlist.Create;
list.text:=StringReplace(edit1.text,' ',#13#10,[rfReplaceAll]);
for j:=0 to 3 do
begin
//abc:=abc+' '+list.strings[j]+' ';
abc:=intToStr(StrtoInt(abc) +strToInt(list.strings[j]));
for i:=1 to 2 do
begin
abc:=intToStr(StrtoInt(abc)+strToInt(list.strings[i*4+j]) ) ;
//abc:=abc+' '+list.strings[i*4+j];
//showMessage(list.strings[i*4+j]);
end;
showMessage(abc);
//memo1.Lines.Add(abc);
abc:='0';
end;
end;
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部