Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2010, 21:50   #1
Родик
Новичок
Джуниор
 
Регистрация: 12.03.2010
Сообщений: 2
По умолчанию Матрицы

Помогите с Delphi

Соседями элемента 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.

Последний раз редактировалось Stilet; 13.05.2010 в 08:00.
Родик вне форума Ответить с цитированием
Старый 13.05.2010, 05:48   #2
ex.cluz
Участник клуба
 
Аватар для ex.cluz
 
Регистрация: 15.01.2010
Сообщений: 1,325
По умолчанию

А где сам вопрос?
Грибы - они разные. Один тебя накормит, другой тебе кино покажет...
Редактор журнала "
[ПРОграммист]"
Yan's Home Digital Lab
ex.cluz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обращение матрицы методом союзной матрицы dofmat Помощь студентам 6 03.10.2011 15:01
TurboPascal: графы, матрицы смежности и матрицы инцидентности. ulala Помощь студентам 1 03.03.2011 19:28
Матрицы:функция изменения порядка столбцов матрицы Fajyz Помощь студентам 0 13.01.2010 09:40
На главную диагональ матрицы поместить наибольшие элементы этой матрицы mivel Помощь студентам 2 23.12.2009 21:19