//вычисляем матрицу с
for (int i=1;i<3;i++)
for (int j=1;j<3;j++)
c[i,j]=a[i,1]*b[1,j]+a[i,2]*b[2,j]+a[i,3]*b[1,3];
//находим кол-во отрицательных элементов
int n = 0;
for (int i=1;i<3;i++)
for (int j=1;j<3;j++)
if (c[i,j]<0) n++;
ЗАДАЧА С МАТРИЦАМИ))))
Заданы 2 матрицы!!!!!!
Ну и что ты делал, что не получилось?
как описать матрицы? и ввести данные?
Цитата: Роман1
как описать матрицы? и ввести данные?
Гуглится же. Например:
http://www.cyberguru.ru/programming/cpp/cpp-velvet-way-page70.html
Ну, ещё есть std::vallarray, вроде бы заточенный под эти задачи. Но не думаю, что тут он требовался.
a,b - входные матрицы, с - выходная
Код:
Procedure prois(A,B:mat,n:integer)
var c:mat;
n:int;
var I,J:Integer;
k:=real;
begin
for I:=1 to n do;
for J:=1 to n do;
c[I,J]:=B[I,J];
k:=0;
begin
for I:=1 to n do;
k:=A[J,I]+k;
for z:=1 to n do;
c[I,Z]:=c[I,Z]*k;
k:=0
end;
TYPE mat w=array[1...5, 1...5]of real;
procedure TForm1.Button1Click(Sender: TObject);
var A,B,C:mat;
n,m:int;
begin
n:=strtoint(Edit1.Text);
for I:=1 to n do;
for J:=1 to n do;
A[I,J]:=strtofloat(SG1.Cells[j-1,i-1]);
for I:=1 to n do;
for J:=1 to n do;
B[I,J]:=strtofloat(SG2.Cells[j-1,i-1]);
prois(A,B,n,C,m);
for I:=1 to n do;
for J:=1 to n do;
SG3.Cells[j-1,i-1]:=Floattostr(C[I,J]);
end.
что неправильно в ней??? так как программа выдаёт много ошибок
Цитата: Роман1
что неправильно в ней??? так как программа выдаёт много ошибок
во первых, конструкция вида
Код:
for I:=1 to n do;
for J:=1 to n do;
c[I,J]:=B[I,J];
for J:=1 to n do;
c[I,J]:=B[I,J];
выполнит c[I,J]:=B[I,J]; только один раз для случая I=J=N, так как у вас после do в циклах стоит ;
во вторых, приведите свой код здесь еще раз внутри тега CODE, чтоб он был читабелен.
Для этого перейдите в расширенный режим сообщения (кнопка справа внизу), выделите свой написанный код и нажмите кнопочку #
Procedure TForm1.Button1Click(Sender: TObject);
var A,B,C:matr;
I,J,k:integer;
begin
for I:=1 to 3 do
for J:=1 to 3 do
begin
A[I,J]:=strtofloat(StringGrid1.Cells[j-1,i-1]);
B[I,J]:=strtofloat(StringGrid2.Cells[j-1,i-1]);
end;
for I:=1 to 3 do
begin
for J:=1 to 3 do
begin
C[I,J]:=0;
for k:=1 to 3 do
C[I,J]:=C[I,J]+A[I,k]*B[k,J]
end;
end;
for I:=1 to 3 do
for J:=1 to 3 do
StringGrid3.Cells[j-1,i-1]:=Floattostrf(C[I,J],fffixed, 6,1);
end;
end.
Это программа для вычисления матрицы)))) скажите что как сделать так чтоб для вычисления проводилось в виде подпрограммы процедура))) и как найти количество отрицательных элементов в новой матрице С
Цитата: Роман1
Это программа для вычисления матрицы)))) скажите что как сделать так чтоб для вычисления проводилось в виде подпрограммы процедура))) и как найти количество отрицательных элементов в новой матрице С
Если у вас такой жуткие проблема с русский языка, то попытка использовать язык программирования (любой) и подавно не будет иметь успеха.