Delphi - correccion-programa

   
Vista:

correccion-programa

Publicado por jose (1 intervención) el 04/11/2008 15:27:20
hola como estan
hice un progrma para delphi que me pidieron en la universidad, y tengo unas dudas, y quisiera ver si alguin me puede ayudar.
el programa encuentra tripletes pitagoricos enteros (p. ejemplo: 3+4=5 ; 3^2+4^2=5^2) el problema que tengo es que no quiero que los numero que forman estos tripletes se repitan (p. ejemplo: 4^2+3^2=5^2).
Bueno no se si me pueden dar alguna idea de como "depurar" los mismos resultados (en este caso el 5).
el codico del programa es:

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, MATH, StdCtrls;
type
TForm1 = class(TForm)
CALCULAR: TButton;
CERRAR: TButton;
SOLUCION: TListBox;
procedure CERRARClick(Sender: TObject);
procedure CALCULARClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.CERRARClick(Sender: TObject);
begin
CLOSE;
end;
procedure TForm1.CALCULARClick(Sender: TObject);
VAR
i,j,b:integer;
a,c:real;
begin
SOLUCION.Items.Clear;
for i:=1 to 100 do begin
for j:=1 to 100 do begin
a:=(Power(i,2)+power(j,2));
a:=sqrt(a);
c:=int(a);
b:=trunc(c);
if ((a-b)=0)then
SOLUCION.Items.Add('a = '+inttostr(i)+', b = '+inttostr(j)+', c = '+FloatToStr(a));
end;
end;
end;

end.

si me ayudan se los agradeceria
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:correccion-programa

Publicado por E.T. (1107 intervenciones) el 04/11/2008 17:19:33
Haber, por ejemplo no quieres que salga 3+4=5 y 4+3=5, para resolver eso basta con que cambies en el segundo for lo siguiente

for i:=1 to 100 do begin
for j:=i to 100 do begin

en lugar de que j=1, pon j=i, haber si se soluciona
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar