OberonCore https://forum.oberoncore.ru/ |
|
Задача, преобразовать матрицу 5x5 в 4x4 https://forum.oberoncore.ru/viewtopic.php?f=35&t=4913 |
Страница 1 из 1 |
Автор: | bill [ Четверг, 02 Январь, 2014 11:10 ] |
Заголовок сообщения: | Задача, преобразовать матрицу 5x5 в 4x4 |
Эта задача часть предыдушей большой задачи. Могу сказать что решил задачу, но я решил ее силой, перебирая вручную все возможные варианты, я наивно предпологал что задача имеет 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. |
Автор: | bill [ Пятница, 17 Январь, 2014 19:07 ] |
Заголовок сообщения: | Re: Задача, преобразовать матрицу 5x5 в 4x4 |
Написано в лазарусе(FPC) "massiv_type = array[0..3] of real;" необходимо перевести это в BB(CP), я решаю примеры по математики так я тренируюсь. |
Автор: | bill [ Суббота, 18 Январь, 2014 15:17 ] |
Заголовок сообщения: | Re: Задача, преобразовать матрицу 5x5 в 4x4 |
bill писал(а): Написано в лазарусе(FPC) "massiv_type = array[0..3] of real;" необходимо перевести это в BB(CP), я решаю примеры по математики так я тренируюсь. Я сам нашел ответ на свой вопрос для наглядности приведу пример Код: MODULE XmatemGaus0;
IMPORT StdLog; TYPE STRING = ARRAY 256 OF CHAR; massiv_type = ARRAY 4 OF REAL; PROCEDURE Do*; VAR a:massiv_type; b:massiv_type; c:massiv_type; str1_X_2:massiv_type; res:STRING; x,y,z:REAL; BEGIN a[0]:=4; a[1]:=2; a[2]:=-1; a[3]:=1; b[0]:=5; b[1]:=3; b[2]:=-2; b[3]:=2; c[0]:=3; c[1]:=2; c[2]:=-3; c[3]:=0; END Do; END XmatemGaus0. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |