ayuda con matriz en delphi

#1
quiero rellenar una TStringGrid con numeros primos pero solo me imprinme el 1,2,3,7 y los demas espacios los deja en blanco como puedo hacer que se llenen?? es una matriz de 3 por 3 este es mi codigo:


var
i,j,k,cont,modulo:Integer;
primo:boolean;
begin
cont:=1;
for I := 0 to 2 do
begin
primo:=true;
for j := 0 to 2 do
begin
for k := 2 to cont - 1 do
begin
modulo:=cont mod k;
if modulo=0 then primo:=false;
end;
if primo=true then
grid1.Cells[j,i]:=inttostr(cont);
begin
end;

cont:=cont+1;
 
#2
Espero te Sirva... SAludos...

procedure TForm1.Button1Click(Sender: TObject);
var i,j,k, contador : Integer;
begin
contador := 0;
for i := 1 to StringGrid1.RowCount-1 do
begin
for j := 1 to StringGrid1.ColCount-1 do
begin
contador := getNextPrimo(contador);
StringGrid1.Cells[j,i] := FloatToStr(contador);
contador := contador + 1;
end;
end;
end;

function TForm1.getNextPrimo(numero: Integer): Integer;
var aux : integer;
function esPrimo(x : integer) : boolean;
var
i,r : longint;
begin
r:=round(sqrt(x));
for i:=2 to r do
if (x mod i=0) then
begin
esPrimo:=false;
exit;
end;
esPrimo:=true;
end;
begin
aux := numero;
while not esPrimo(aux) do
begin
inc(aux);
end;
Result := aux;
end;

Es dinámico.. te sirve para cualquier numero de renglones y columnas..!!!
 
Arriba