Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Lazarus, FreePascal, Kylix, etc. (https://www.clubdelphi.com/foros/forumdisplay.php?f=14)
-   -   Tablas de multiplicar para todos los números entre dos números (https://www.clubdelphi.com/foros/showthread.php?t=91769)

Daniel2622 21-04-2017 06:20:42

Tablas de multiplicar para todos los números entre dos números
 
Hola, necesito ayuda con el siguiente ejercicio, por favor:

Escribe un programa que muestre en un objeto Memo las tablas de multiplicar para todos los números entre dos números introducidos por el usuario. Por ejemplo, si el usuario solicita las tablas entre 2 y 5, el programa mostrará las tablas completas (del 1 al 10) del 2, el 3, el 4 y el 5.

Construí este código, pero nadmas me da las tablas de los número que ingresó:
Código Delphi [-]
procedure TForm1.BitBtn1Click(Sender: TObject);
var n1,n2,c,codigo:Integer;
begin
val(Edit1.Text,n1,codigo);
val(Edit2.Text,n2,codigo);
c:=1;
Memo1.Text:='Tablas de multiplicar';
while c<=10 do
begin
  Memo1.Text:=Memo1.Text+#13#10+'  '+
  IntToStr(c)+'x'+IntToStr(n1)+'='+
  IntToStr(n1*c);

  Memo1.Text:=Memo1.Text+#13#10+'  '+
  IntToStr(c)+'x'+IntToStr(n2)+'='+
  IntToStr(n2*c);
  c:=c+1;
  end;
end;
De antemano muchas gracias y saludos.

ElKurgan 21-04-2017 09:50:22

¿Y probando así?

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  n1,n2,c,codigo:Integer;
  i: Integer;
  desde, hasta: integer;
begin
  Memo1.Lines.Clear;
  val(Edit1.Text,n1,codigo);
  val(Edit2.Text,n2,codigo);
  Memo1.Lines.Add('Tablas de multiplicar');
  if n1 < n2 then
  begin
    desde := n1;
    hasta := n2;
  end
  else
  begin
    desde := n2;
    hasta := n1;
  end;
  for i := desde to hasta do
  begin
    c:=1;

    while c<=10 do
    begin
      Memo1.Lines.Add(
        Format('%0:d x %1:d = %2:d', [i, c, i*c]));
        c:=c+1;

    end;
    Memo1.Lines.Add('--------------------')
  end;

end;
Un saludo

Daniel2622 21-04-2017 13:06:55

Hola [quote=ElKurgan;515717], que signisignifica lo siguiente:

Código Delphi [-]
for i := desde to hasta do
  begin
    c:=1;

    while c<=10 do
    begin
      Memo1.Lines.Add(
        Format('%0:d x %1:d = %2:d', [i, c, i*c]));
        c:=c+1;

    end;
    Memo1.Lines.Add('--------------------')
  end;

end;

Gracias y saludos.

Daniel2622 22-04-2017 01:47:59

Muchas gracias El Kurgan, tu código me fue de gran ayuda.
Saludos.


La franja horaria es GMT +2. Ahora son las 14:59:48.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi