Wątek przeniesiony 2014-12-14 21:51 z Delphi i Pascal przez furious programming.

Sumowanie parzystych i nieparzystych liczb w StringGrid

0

Witam. Piszę z prośbą o pomoc. Chce zrobić stringgrida z randomowymi liczbami od (-20 ; 20) i potem zsumować parzyste i nieparzyste liczby.

Pierwsza część wygląda tak.

Var I,J : Integer ;
begin
 for I := 0 to stringgrid1.Rowcount-1 Do
for J := 0 to stringgrid1.Colcount-1 do
stringgrid1.Cells[J,I] :=
Inttostr(Random(40)-20) 

I tu zaczynają się schody. Chciałbym w edit1.text i edit2.text umieścić sume parzystych i nieparzystych liczb.

Znam algorytm na liczbe parzystą

n mod 2 = 0

tylko nie wiem jak to połączyć z liczbami w stringgridzie
Z góry dziękuje za pomoc.

Pozdrawiam

3
var tb:array[0..1]of Int64;
var v:Integer;

for y := 0 to stringgrid1.Rowcount-1 do
begin
  for x := 0 to stringgrid1.Colcount-1 do
  begin
    v:=StrToInt(StringGrid1.Cells[x,y]);
    Inc(tb[(v)mod(2)],v);
  end;
end;
0

Udało mi się zsumować liczby parzyste.

Problem jest z liczbami nieparzystymi. Czy mógłbym prosić o pomoc w dokończeniu kodu ?

 var x,y,i,j, pom,np: integer;

begin
 x:=0;
 y:=0;


for i:=0 to stringgrid1.rowcount-1 do
for j:=0 to stringgrid1.ColCount-1 do
begin
stringgrid1.cells[j,i]:=inttostr(random(40)-20);
pom:=strtoint(stringgrid1.cells[j,i]);
    if pom mod 2=0
    then
    x:=x+pom

 else
1

Jak już koniecznie chcesz w ten sposób, to rób to z głową:

begin
  x := 0;
  y := 0;
  
  for i := 0 to StringGrid1.RowCount - 1 do
    for j := 0 to StringGrid1.ColCount - 1 do
    begin
      pom := Random(40) - 20;
      StringGrid1.Cells[j, i] := IntToStr(pom);

      if pom mod 2 = 0 then
        Inc(x, pom)
      else
        Inc(y, pom);
    end;
end;

Zakładając, że to y to ma być suma liczb nieprzystych, a x parzystych; Poza tym kod te identyfikatory kompletnie nic nie mówią o przeznaczeniu zmiennych, więc zmień je na sensowniejsze.

1 użytkowników online, w tym zalogowanych: 0, gości: 1