Показать сообщение отдельно
  #4  
Старый 09.03.2010, 14:20
Taddy23 Taddy23 вне форума
Новичок
 
Регистрация: 28.04.2009
Сообщения: 54
Репутация: 10
По умолчанию

Вот еще вариант, тут строчки с суммами 90 выводятся во 20-ое мемо окошко, и учитывалось что числа разделены +
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
k:array of integer;
a,b,с:string;
i,S:integer;
begin
i,j:=0;
b:=memo1.lines.text; // мемо1 - в котором искомая строка чисел
 while pos('+',b)>0 do // это если числа разделены + если пробелом то #9
 begin
 a:=b;
 delete(a,pos('+',a),length(a));
  try
  k[i]:=strtoint(a);
  except
  k[i]:=0;
  end;
 delete (b,1,pos('+',b));
 i:=i+1;
  if pos('+',b)>0 then
   try
   k[i+1]:=strtoint(b);
   except
   k[i+1]:=0;
   end;
 end;
S:=0;
l:=1;
for i:=1 to length(k) do
begin
S:=S+k[i];
  if S=90 then // если суммы будут точно равны 90
  begin
    for j:=l to i do
    begin
    c:=c+' '+inttostr(k[j]);
    memo2.lines.add(c);  //выводим строчку с числами во 2-е мемо  окошко
    end;
  l:=i+1;
  S:=0;
  end;
end;
end;
Admin: Пользуемся тегами! При рецедиве - бан!
Ответить с цитированием