Эта задача часть предыдушей большой задачи.
Могу сказать что решил задачу, но я решил ее силой, перебирая вручную все возможные варианты, я наивно предпологал что задача имеет 10 возможных вариантов развития событий, я вручную создал обработку этим 10 вариантам, пока не выяснилось что их больше намного больше, пока не считал, я бы мог вручную перебрать все возможные пути, толька задаюсь вопросом а как можна это автаматизировать?
Дана матрица 5x5, нада на ее основе создать матрицу 4x4.
Если StrokaXStolbec='1x1' то удаляем 1 строку и 1й столбец из матрицы 5x5, из оставшихся элементов построить матрицу 4x4.
Если StrokaXStolbec='1x2' то удаляем 1 строку и 2й столбец из матрицы 5x5, из оставшихся элементов построить матрицу 4x4.
Вот так вручную, я перебрал 10 случаев.
Код:
MODULE XmatemKurosh0;
IMPORT StdLog;
PROCEDURE Do*;
VAR
a1, a2, a3, a4, a5:REAL;
b1, b2, b3, b4, b5:REAL;
c1, c2, c3, c4, c5:REAL;
d1, d2, d3, d4, d5:REAL;
e1, e2, e3, e4, e5:REAL;
StrokaXStolbec: ARRAY 64 OF CHAR;
BEGIN
a1:=-2; a2:=5; a3:=0; a4:=-1; a5:=3;
b1:=1; b2:=0; b3:=3; b4:=7; b5:=-2;
c1:=3; c2:=-1; c3:=0; c4:=5; c5:=-5;
d1:=2; d2:=6; d3:=-4; d4:=1; d5:=2;
e1:=0; e2:=-3; e3:=-1; e4:=2; e5:=3;
IF StrokaXStolbec='1x1' THEN
a1:=b2; a2:=b3; a3:=b4; a4:=b5;
b1:=c2; b2:=c3; b3:=c4; b4:=c5;
c1:=d2; c2:=d3; c3:=d4; c4:=d5;
d1:=e2; d2:=e3; d3:=e4; d4:=e5;
END;
IF StrokaXStolbec='1x2' THEN
a1:=b2; a2:=b3; a3:=b4; a4:=b5;
b1:=c2; b2:=c3; b3:=c4; b4:=c5;
c1:=d2; c2:=d3; c3:=d4; c4:=d5;
d1:=e2; d2:=e3; d3:=e4; d4:=e5;
END;
(*StdLog.String("Hello World"); StdLog.Ln*)
END Do;
END XmatemKurosh0.