Buscar

Verifica se uma sequencia numerica esta contida em outra

Código

Essa função fiz para conferir jogos de MegaSena, Lotofacil, Lotomania, etc.  Ela testa a sequencia jogada com a sequencia sorteada e rotorna o numero de acertos. Tem de se passar os parametros por ARRAY.

function conferir(const a, b: array of integer):integer;
var
contem, naocontem, x, y: integer;
begin
contem:= 0;
naocontem:=0;
for x:=0 to high(a) do begin
  for y:=0 to high(b) do begin
  if a[x]=b[y] then
  contem:=contem+1
  else
  Naocontem:=naocontem+1;
  end;
end;
Result:=contem;
end;


Veja exemplo de uso:
procedure TForm2.BitBtn2Click(Sender: TObject);
var
x: integer;
numero: string;
begin
SetLength(vec,6); // Não esquecer de setar o tamanho da Array, Neste caso é 6
// para a megasena, se for para quina tem de ser 5, lotomania 15, etc...
memo2.Lines.Clear;
for x:=0 to memo1.lines.Count-1 do begin
vec[0]:=strtointdef(copy(memo1.Lines.Strings[x],1,2),0);
vec[1]:=strtointdef(copy(memo1.Lines.Strings[x],4,2),0);
vec[2]:=strtointdef(copy(memo1.Lines.Strings[x],7,2),0);
vec[3]:=strtointdef(copy(memo1.Lines.Strings[x],10,2),0);
vec[4]:=strtointdef(copy(memo1.Lines.Strings[x],13,2),0);
vec[5]:=strtointdef(copy(memo1.Lines.Strings[x],16,2),0);
setlength(tot,6);  // Não esquecer de setar o tamanho da Array, Neste caso é 6
// para a megasena, se for para quina tem de ser 5, lotomania 15, etc...
tot[0]:=strtointdef(edit1.text,0);
tot[1]:=strtointdef(edit2.text,0);
tot[2]:=strtointdef(edit3.text,0);
tot[3]:=strtointdef(edit4.text,0);
tot[4]:=strtointdef(edit5.text,0);
tot[5]:=strtointdef(edit6.text,0);
memo2.lines.Add(memo1.Lines.Strings[x]+'   '+strzero(form1.conferir(tot,vec),2));
end;
end;

 

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Object pascal
Adicionada dia: 05/12/07
Por: Joarez Brigina
Visualizada: 8293 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009