Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Multiplicación de vectores en un stringgrid (https://www.clubdelphi.com/foros/showthread.php?t=64864)

Jose Meneses 23-04-2009 00:09:29

Multiplicación de vectores en un stringgrid
 
Hola amigos... le doy gracias al foro otra vez por permitir que yo pregunte y a saber todas las cosas que yo no se... Miren necesito hacer un programa con vectores y trata de multiplicarlos. La sintaxis de un vector es esta ej. vec: array [1..100] of integer; ... y todo en un stringgrid ej. y sumar los resultados de lo multiplicado.El resultado puede salir en un showmessag


1 | 2 =2
2 | 5 =10
6 | 3 =18

Sumatoria total 30

roman 23-04-2009 02:02:38

No entiendo para qué quieres el StringGrid. No deberíamos de confundir el manejo de datos con su representación visual.

Lo que tú buscas -al menos a juzgar por el magro ejemplo que pones- es el producto punto o escalar de dos vectores:

Código:

A = (a1, a2, ... , an)
B = (b1, b2, ..., bn)

A . B = a1*b1 + a2*b2 + ... + an*bn

Entonces, lo primero es que te plantees como representar cada vector, y para ello lo más adecuado es un array:

Código Delphi [-]
const
  DIM = 100;

type
  TVector = array[1..DIM] of Integer;

La definición que pongo arriba del producto escalar te lleva de la mano a su implementación:

Código Delphi [-]
procedure ProductoEscalar(A, B: TVector): Integer;
var
  I: Integer;

begin
  Result := 0;

  for I := 1 to DIM do
    Result := Result + A[i]*B[i];
end;

Ya después si quieres, puedes preocuparte por cosas como dónde mostrar los vectores y el resultado.

// Saludos


La franja horaria es GMT +2. Ahora son las 00:35:57.

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