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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2010, 09:57   #1
alerzo
 
Регистрация: 03.03.2010
Сообщений: 9
По умолчанию матрица делфи

помогите решить задачу...программа не выводит результат в стрин грид.
задача:составить программу для вычисления компонент вектора d={d1,d2,d3...dn} равного произведению матрицы А={aij} на вектор b={b1,b2,b3..bn} каждая компонента вектора вычисляется по формуле di=m(над сигмой)(сигма)к=1(под сигмой)*(aik*bk) i=1...n (n<=9 m<=9)
то есть программа перемножает каждый элемент строки матрицы А на элемент B и складывает друг с другом.
код:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, StdCtrls;

type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Button1: TButton;
mas1: TStringGrid;
mas3: TStringGrid;
mas2: TStringGrid;
Edit1: TEdit;
Edit2: TEdit;
Label5: TLabel;
Label6: TLabel;
procedure Button1Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure Edit2Change(Sender: TObject);


private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.button1Click(Sender: TObject);
var
a:array [1..8,1..9] of real;
b,d:array [1..9] of real;
i,j,N,M:Integer;
begin
N:=strtoint(edit1.text);
M:=strtoint(edit2.text);
for i:=1 to N do
for j:=1 to M do
a[i,j]:=strtofloat(mas1.Cells[j-1,i-1]);
for i:=1 to N do
b[i]:=strtofloat(mas1.Cells[i-1,0]);
d[i]:=0;
d[i]:=d[i]+a[i,j]*b[i];
mas3.Cells[0, i]:=FloatToStr(d[i]);
end;
procedure TForm1.Edit1Change(Sender: TObject);
begin
if edit1.Text<>' ' then
mas1.rowcount:=strtoint(Edit1.Text) ;
mas2.rowcount:=strtoint(Edit1.Text) ;
mas3.rowcount:=strtoint(Edit1.Text) ;
end;

procedure TForm1.Edit2Change(Sender: TObject);
begin
if edit2.text<>' ' then
mas1.colcount:=strtoint(Edit2.Text) ;
end;

end.
alerzo вне форума Ответить с цитированием
Старый 17.03.2010, 10:01   #2
alerzo
 
Регистрация: 03.03.2010
Сообщений: 9
По умолчанию

вот архив с задачей
alerzo вне форума Ответить с цитированием
Старый 17.03.2010, 10:05   #3
alerzo
 
Регистрация: 03.03.2010
Сообщений: 9
По умолчанию

http://www.programmersforum.ru/attac...1&d=1268809476
Вложения
Тип файла: rar информатика.rar (188.9 Кб, 13 просмотров)
alerzo вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Непонятки с DirectX (матрица поворота, камера, матрица проекции) ROD Общие вопросы C/C++ 2 17.09.2010 17:00
матрица в делфи!!! child Помощь студентам 0 09.12.2009 21:57
TurboPascal: граф, матрица смежности и матрица инцидентности. ulala Помощь студентам 0 02.12.2009 10:11
матрица в делфи True_girl Помощь студентам 8 08.07.2009 00:38
Код игры на Паскале и на Делфи сильно отличается? Как переписать код с Паскаля в Делфи? Mclaren Помощь студентам 2 27.04.2009 22:37