Dvodimenzionalni nizovi (matrice) u Delphi-ju

Komponenta Stringgrid

 

Ponavljanje:

  • Pri zadavanju matrice koriste se prirodni brojevi nm koji definišu dimenzije matrice (nxm) tj. ukazuju na to da se matrica sastoji od nvrsta (redova)  i m kolona (stubaca).
  • Ako je n=m matrica se naziva kvadratna.
  • Element matrice definišu dva indeksa. Indeks i određuje vrstu a indeks j kolonu u kojoj se nalazi element matrice.

Opšti član matrice   – a[i,j]

U Delphi-ju se za rad sa matricama koristi komponenta StringGrid koja se nalazi u Aditional grupi alatki.

Primer1: Aplikacija koja omogućava unos matrice nxm  i klikom na dugme računaj  računa zbir elemenata matrice (ispisuje ga u labeli) i prosečnu vrednost elemenata (ispisuje je u edit boxu)

1.Kreirate formu kao na slici:

Pre pisanja koda podesi se u Properties za String grid sledeće:

Izbaciti fiksirane kolone i redove (u Properties kartici Inspektora Objekata svojstva FixedColsFixed Rows postaviti na nulu)

Da bi omogućili unos podataka u stringGrid potrebno je u Properties kartici svojstvo Options-go editing postaviti  na true. Dok ova opcija nije uključena nećete moći uneti brojeve u tabelu (matricu).

Sledeća procedura omogućava postavljanje zadatih dimenzija matrice:

procedure TForm1.StringGrid1Click(Sender: TObject);

var n,m:integer;

begin

n:=strtoint(edit1.text);

m:=strtoint(edit2.text);

stringgrid1.ColCount:=n;

stringgrid1.RowCount:=m;

end;

Procedura za dugme računaj:

procedure TForm1.Button2Click(Sender: TObject);

var n,m,i,j,s:integer;

pv:real;

begin

n:=strtoint(edit1.text);

m:=strtoint(edit2.text);

s:=0;

for i:=1 to n do

for j:= 1 to m do

s:=s+strtoint(stringgrid1.cells[i-1,j-1]);

pv:=s/(n*m);

edit3.Text:=floattostr(pv);

label5.Caption:=inttostr(s);

end;

Preuzmite dokumenta  sa objašnjenjima, zadacima i   urađenim primerima:

StringGridMatReseni

ocenaNizMat

NizMatReseni

Advertisements

One response »

  1. Повратни пинг: III – Dvodimenzionalni nizovi (matrice) | Učimo informatiku 2

Оставите одговор

Попуните детаље испод или притисните на иконицу да бисте се пријавили:

WordPress.com лого

Коментаришет користећи свој WordPress.com налог. Одјавите се /  Промени )

Google photo

Коментаришет користећи свој Google налог. Одјавите се /  Промени )

Слика на Твитеру

Коментаришет користећи свој Twitter налог. Одјавите се /  Промени )

Фејсбукова фотографија

Коментаришет користећи свој Facebook налог. Одјавите се /  Промени )

Повезивање са %s