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