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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2010, 17:26   #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, StdCtrls, Grids;

type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Button1: TButton;
Label3: TLabel;
Label4: TLabel;
mas1: TStringGrid;
Label5: TLabel;
mas2: TStringGrid;
mas3: TStringGrid;
Edit1: TEdit;
Edit2: TEdit;
Label6: TLabel;
procedure Edit1Change(Sender: TObject);
procedure Button1Click(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 m do
b[i]:=strtofloat(mas1.Cells[i-1,0]);
For i:=1 to n do begin
d[i]:=0;
For j:=1 to m do
d[i]:=d[i]+a[i,j]*b[j];
mas3.Cells[0,i]:=FloatToStr(d[i]);
end;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.
Вложения
Тип файла: rar лучшая.rar (191.3 Кб, 8 просмотров)
alerzo вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерный массив. Q basic - Построить новый массив из элементов исходного ,которые больше P. Marishkaa Помощь студентам 2 12.01.2010 16:54
Массив Анэт Помощь студентам 2 23.12.2009 00:04
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40
массив Cpluser Общие вопросы .NET 16 04.06.2009 23:15
Упорядочить массив в порядке возрастания и напечатать входной и исходный массив. TheVenny Помощь студентам 3 26.11.2008 15:06