|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
помогите пожалуйста составить алгоритм
Найти сумму двух векторов C и D, где C – произведение вектора x на матрицу A,D произведение вектора y на матрицу A. Вычислите произведениея вектора на матрицу в виде подпрограммы-процедуры.
Последний раз редактировалось SmaZz, 03.05.2009 в 13:05. |
#2
|
||||
|
||||
Код:
var i,j:integer; begin for j:=1 to 3 do begin B[j]:=0; for i:=1 to 3 do B[j]:=B[j]+f[i]*z[i,j]; end; Велик и могуч наш Object Pascal ! ICQ: 357-591-887 |
#3
|
|||
|
|||
решеная задача
кому интересно. вот код
Код:
type matr=array[1..3,1..3]of real; type vectr=array[1..3]of real; procedure TForm1.Button1Click(Sender: TObject); var a:matr;x,y,c,d,z:vectr; i,j:integer; Procedure summa(f:vectr;var b:vectr;t:string); var i,j:integer; begin label8.Caption:=label8.Caption+t; for j:=1 to 3 do begin B[j]:=0; for i:=1 to 3 do B[j]:=B[j]+f[i]*a[i,j]; label8.Caption:=label8.Caption+FloatToStrf(B[j],fffixed,4,1)+'; '; end; label8.Caption:=label8.Caption+#13; end; begin label8.Caption:=''; for i:=1 to 3 do for j:=1 to 3 do a[i,j]:=strtofloat(sga.Cells[i-1,j-1]); for i:=1 to 3 do begin x[i]:=strtofloat(sgx.Cells[i-1,0]); y[i]:=strtofloat(sgy.Cells[i-1,0]); end; summa(x,c,'вектор с ='); summa(y,d,'вектор d ='); for i:=1 to 3 do begin z[i]:=C[i]+D[i]; sgz.Cells[i-1,0]:=FloatToStrf(z[i],fffixed,4,1); end; end; procedure TForm1.Button2Click(Sender: TObject); begin form1.Close end; end. |