Уважаемые модераторы столь полезного, по-моему форума! У меня есть к вам претензия! Относитесь, пожайлуста к темам более серьезно, ответственно и без нервов. Моя тема: "МАТРИЦЫ, Взведение матриц в степень, сложение матриц" была закрыта совершенно необоснованно. Volvo объяснил это, предварительно унизив меня и обвинив в ленности, тем, что я не читая правил, пишу задачки, решение которых опубликовано. Но просмотрев внимательно ссылку, любезно скинутую, я поняла, что модератор либо не совсем компетентен, либо САМ ПОЛЕНИЛСЯ вникнуть в суть задачи, либо был не в настроении. В общем, не буду углубляться, но мне дейсвительно обидно, что к моей пробдеме отнеслись не совсем корректно. Т.к. я возлагала надежды на умных людей, посещающих данный форум! Спасибо!
volvo
14.05.2006 1:00
Все?
А теперь у меня вопрос к тебе, если я некомпетентен, может ТЫ желаешь меня заменить? You are Welcome... Как минимум четверть форума будет очень рада, если меня снимут с модераторов...
Посмотрим, насколько ТЫ компетентна, и выдержана. А я буду постить десятки однообразных тем с нечетким и невнятным заданием, и сюда, естественно, буду заходить, чтобы тебя порадовать очередной кляузой. Договорились?
А теперь - по теме жалобы:
Цитата
просмотрев внимательно ссылку, любезно скинутую, я поняла, что модератор либо не совсем компетентен, либо САМ ПОЛЕНИЛСЯ вникнуть в суть задачи, либо был не в настроении.
Это не называется "внимательно"... Я тебе привожу полное решение задачи, скопированное с поста ПО ПРИВЕДЕННОЙ МНОЙ ССЫЛКЕ !!! С указанием ВСЕХ добавлений!!!
(я надеюсь, ты достаточно сообразительна, чтобы понять, ГДЕ здесь M, а где N ?)
Const size = 4;
Type
TMatrix = Array[1 .. size, 1 .. size] Of Real;
Procedure matrixMult(Var m: TMatrix; a, b: TMatrix);
Var i, j, k: Integer;
BeginFor i := 1To size DoFor j := 1To size DoBegin
m[i, j] := 0;
For k := 1To size Do
m[i, j] := m[i, j] + a[i, k] * b[k, j]
End;
End;
Procedure matrixPower(Var m: TMatrix; a: TMatrix; pow: Integer);
Var
i, j: Integer;
T: TMatrix;
BeginIf pow = 0ThenBeginFor i := 1To size DoFor j := 1To size Do
m[i, j] := Byte(i = j);
Exit
End;
move(a, T, SizeOf(T));
For i := 1To Pred(pow) Do
matrixMult(T, T, a);
move(T, m, SizeOf(T))
End;
Procedure matrixAdd(Var m: TMatrix; a, b: TMatrix);
Var
i, j: Integer;
BeginFor i := 1To size DoFor j := 1To size Do
m[i, j] := a[i, j] + b[i, j]
End;
Procedure matrixScale(Var m: TMatrix; a: TMatrix; f: Real);
Var
i, j, k: Integer;
BeginFor i := 1To size DoFor j := 1To size Do
m[i, j] := f * a[i, j]
End;
Procedure matrixPrint(a: TMatrix);
Var
i, j: Integer;
BeginFor i := 1To size DoBeginFor j := 1To size Dowrite(a[i, j]:9:2);
WriteLn
EndEnd;
Const
n = 3;
p: Array[1 .. n] Of Real =
(1.0, 1.0, 1.0); { <--- Исправлена строчка №1 }Var
a: TMatrix;
T, Res: TMatrix;
i, j: Integer;
beginFor i := 1To size DoFor j := 1To size Dobegin
a[i, j] := Random(20);
end;
matrixPrint(a);
For i := 1To n DoBegin
matrixPower(T, a, n - i);
matrixScale(T, T, p[i]);
matrixAdd(Res, Res, T)
End;
matrixPrint(Res)
end.
Ну что, компетентная ты наша? Что делать будем? Составлять протокол за "наезд" на модератора ?
Кто еще сомневается в том, что я достоин поста модератора, высказывайтесь...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.