![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 12.03.2010
Сообщений: 2
|
![]()
Соседями элемента Aij в матрице N на N назовем элементы Akl с i-1<=k<=i+1, j-1<=l<=j+1, (k,l)<>(i,j). Операция сглаживания матрицы дает новую матрицу того же размера, каждый элемент которой получается как среднее арифметическое имеющихся соседей соответствующего элемента исходной матрицы. Матрица генерируется с помощью датчика псевдослучайных чисел. Матрица квадратная, поэтому вводим только один размер.
не могу создать новую матрицу, где "каждый элемент которой получается как среднее арифметическое имеющихся соседей соответствующего элемента исходной матрицы". Вот начало кода где формируется матрица: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Math; type TForm1 = class(TForm) Label1: TLabel; Edit1: TEdit; Button1: TButton; Memo1: TMemo; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var i,j,n,k,l:integer; aij:array of array of double; akl:array of array of double; s:string; begin n:=strtoint(edit1.Text); memo1.Clear; setlength(aij,n); setlength(akl,n); for i:=0 to n-1 do setlength(aij,n); for i:=0 to n-1 do setlength(akl,n); ////////////////////////////////////////////////////////// for i:=0 to n-1 do for j:=0 to n-1 do begin aij[i,j]:=-15+30*random; aij[i,j]:=RoundTo(aij[i,j],-2); end; ////////////////////////////////////////////////////////// memo1.Lines.Add('matrix'); for i:=0 to n-1 do begin s:=''; for j:=0 to n-1 do s:=s+floattostr(aij[i,j])+' '; memo1.Lines.Add(s); end; ////////////////////////////////////////////////////////// for i:=0 to n-1 do for j:=0 to n-1 do aij:=nil; akl:=nil; end; initialization randomize; end. |
![]() |
![]() |