1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
uses crt,graph; type matrix=array [1..4,1..4] of integer; vector=array [1..4] of integer; Point=array [1..2] of integer; var i,j,c:integer; matr,matr_1,matrixX:matrix; vect_1,vect_2,vect_3,vect_4,vect_5:vector; p1,p2,p3,p4:point;
procedure vect_matr(vect:vector;matr:matrix); begin for i:=1 to 4 do begin for j:=1 to 4 do begin vect_5[i]:=vect_5[i]+vect[j]*matr[i,j]; end; end; end;
procedure Risunok; Var Gd,Gm:Integer; Begin Gd:=Detect; InitGraph(Gd,Gm,'C:\BP\BGI'); If GraphResult <> grOk Then Halt(1);
Я не очень понял задание, но попробуй поставить procedure vect_matr(VAR vect:vector;VAR matr:matrix); вместо того что у тебя. Те ты передаешь так по адресу и изменяешь входные папраметры.
Аня, глубоко не копал, но хочу напомнить, что при обращении к тригономерическим функциям аргумент задается в радианах, а не градусах. Вообще же координаты во всех случаях кроме экранных (пиксельных) принято записывать в числах с плавающей точкой. Еще: ты несколько раз суммируешь в vect_5, ни нигде его не очищаешь.
Задание просто заставить фигуру вращаться вокруг осей путем перемножения вектора на матрицу. А где именно обнулять vect_5?
uses crt,graph; type matrix=array [1..4,1..4] of integer; vector=array [1..4] of integer; Point=array [1..2] of integer; var i,j,c:integer; matr,matr_1,matrixX:matrix; vect_1,vect_2,vect_3,vect_4,vect_5:vector; p1,p2,p3,p4:point;
procedure vect_matr(var vect:vector; var matr:matrix); begin for i:=1 to 4 do begin for j:=1 to 4 do begin vect_5[i]:=vect_5[i]+vect[j]*matr[i,j]; end; end; end;
procedure Risunok; Var Gd,Gm:Integer; Begin Gd:=Detect; InitGraph(Gd,Gm,'C:\BP\BGI'); If GraphResult <> grOk Then Halt(1);