Задача: Задан двухмерный массив чисел. Размерность массива определяет пользователь (при запуске программы размерность 10×10). Элементы матрицы формируются случайным образом. Найти количество четных элементов матрицы и выписать их в компонент Memo. Текст программы: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, ComCtrls; type TForm1 = class(TForm) PageControl1: TPageControl; TabSheet1: TTabSheet; TabSheet2: TTabSheet; TabSheet3: TTabSheet; StringGrid1: TStringGrid; Button1: TButton; Button2: TButton; Edit1: TEdit; Edit2: TEdit; Label1: TLabel; Label2: TLabel; Button3: TButton; StringGrid2: TStringGrid; Label3: TLabel; StringGrid3: TStringGrid; Button4: TButton; Label4: TLabel; Label5: TLabel; Edit3: TEdit; Edit4: TEdit; Button5: TButton; StringGrid4: TStringGrid; Label6: TLabel; Label7: TLabel; ComboBox1: TComboBox; ComboBox2: TComboBox; Button6: TButton; Button7: TButton; Edit5: TEdit; Memo1: TMemo; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure ComboBox1Click(Sender: TObject); procedure ComboBox2Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure Button7Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; mas:array[1..10] of integer; matr:array[1..10,1..10] of integer; i,j:integer; k,s,buf,p:integer; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin randomize; … end; procedure TForm1.Button2Click(Sender: TObject); begin for i:=1 to 10 do begin … StringGrid2.Cells[i-1,0]:=IntToStr(mas[i]); end; procedure TForm1.Button3Click(Sender: TObject); begin s:=0; … Edit2.Text:=IntToStr(s); end; procedure TForm1.Button4Click(Sender: TObject); begin for i:=1 to 10 do begin … end; procedure TForm1.Button5Click(Sender: TObject); begin k:=0; … Edit4.Text:=IntToStr(p); end; procedure TForm1.ComboBox1Click(Sender: TObject); begin StringGrid4.RowCount:=strtoint(ComboBox1.Items[ComboBox1.ItemIndex]); end; procedure TForm1.ComboBox2Click(Sender: TObject); begin StringGrid4.ColCount:=strtoint(ComboBox2.Items[ComboBox2.ItemIndex]); end; //заполнение матрицы procedure TForm1.Button6Click(Sender: TObject); begin randomize; for i:=1 to strtoint(ComboBox1.Items[ComboBox1.ItemIndex]) do begin for j:=1 to strtoint(ComboBox2.Items[ComboBox2.ItemIndex]) do begin matr[i,j]:=random(20); StringGrid4.Cells[j-1,i-1]:=IntToStr(matr[i,j]); end; end; end; procedure TForm1.Button7Click(Sender: TObject); begin k:=0; Memo1.Clear; for i:=1 to strtoint(ComboBox1.Items[ComboBox1.ItemIndex]) do begin for j:=1 to strtoint(ComboBox2.Items[ComboBox2.ItemIndex]) do begin if matr[i,j] mod 2 =0 then begin k:=k+1; Memo1.Text:=Memo1.Text+inttostr(matr[i,j])+’ ‘; end; end; end; Edit5.Text:=IntToStr(k); end; end. |