Уважаемые модераторы столь полезного, по-моему форума! У меня есть к вам претензия! Относитесь, пожайлуста к темам более серьезно, ответственно и без нервов. Моя тема: "МАТРИЦЫ, Взведение матриц в степень, сложение матриц" была закрыта совершенно необоснованно. Volvo объяснил это, предварительно унизив меня и обвинив в ленности, тем, что я не читая правил, пишу задачки, решение которых опубликовано. Но просмотрев внимательно ссылку, любезно скинутую, я поняла, что модератор либо не совсем компетентен, либо САМ ПОЛЕНИЛСЯ вникнуть в суть задачи, либо был не в настроении. В общем, не буду углубляться, но мне дейсвительно обидно, что к моей пробдеме отнеслись не совсем корректно. Т.к. я возлагала надежды на умных людей, посещающих данный форум! Спасибо!
А теперь у меня вопрос к тебе, если я некомпетентен, может ТЫ желаешь меня заменить? 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; Begin For i := 1 To size Do For j := 1 To size Do Begin m[i, j] := 0; For k := 1 To 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; Begin If pow = 0 Then Begin For i := 1 To size Do For j := 1 To size Do m[i, j] := Byte(i = j); Exit End;
move(a, T, SizeOf(T)); For i := 1 To 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; Begin For i := 1 To size Do For j := 1 To 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; Begin For i := 1 To size Do For j := 1 To size Do m[i, j] := f * a[i, j] End;
Procedure matrixPrint(a: TMatrix); Var i, j: Integer; Begin For i := 1 To size Do Begin For j := 1 To size Do write(a[i, j]:9:2); WriteLn End End;
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;
begin For i := 1 To size Do For j := 1 To size Do begin a[i, j] := Random(20); end;
matrixPrint(a);
For i := 1 To n Do Begin matrixPower(T, a, n - i); matrixScale(T, T, p[i]); matrixAdd(Res, Res, T) End;
matrixPrint(Res) end.
Ну что, компетентная ты наша? Что делать будем? Составлять протокол за "наезд" на модератора ?
Кто еще сомневается в том, что я достоин поста модератора, высказывайтесь...