Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2007, 13:26   #1
metamfetamin
Пользователь
 
Аватар для metamfetamin
 
Регистрация: 02.11.2007
Сообщений: 68
По умолчанию

В программе использывается файл с матрицами А и B который находятся напр. C:\mx.txt (используется в программе как база входных данних) Матрицы A[5x6] B[6x7].
Режим роботы проги.(пошагово)
Шаг 1.Вывод матриц А и В.
Код:
А:
0.2    0.3         0.       0.          0.         0.
0.4	0.        0.5      1.7	        0.     	   0.
 0.    2.3     	   0.      7.3         0.9	   0.
 0.	0.        3.7       0.         4.1	   0.
 0.	0.	   0.      8.4	        0.        6.1

B:
2.5    5.3	0.	 0.	0.	0.	0.   
3.8	0.     0.2      1.4	0.	0.	0.   
 0.    7.6	0.      3.9    9.7	0.	0.   
 0.	0.     5.7       0.    6.8	0.	0.   
 0.	0.	0.      5.4	0.     6.5	0.   
 0.	0.	0.       0.	0.	0.     7.6
Шаг 2 Разбиение и собственно вывод блоков матриц А и В после деления:
Код:
Блок А1                                                    Блок А0
0.2     0.3         0.       0.                            0.         0.
0.4	 0.        0.5      1.7	                           0.	      0.

Блок A2                                                    Блок А3
 0.     2.3	    0.      7.3                            0.9        0.
 0.	 0.        3.7       0.                            4.1	      0.
 0.	 0.	    0.      8.4	                            0.       6.1

B:
Блок B1                                          Блок B0
2.5    5.3	0.	 0.	0.	         0.	0.   
3.8	0.     0.2      1.4	0.	         0.	0.   
 0.    7.6	0.      3.9    9.7	         0.	0.   
 0.	0.     5.7       0.    6.8	         0.	0.   
 

Блок B2                                          Блок В3
0.	0.	0.      5.4	0.              6.5	0.   
0.	0.	0.       0.	0.	         0.    7.6
Шаг 3. Вывод матрицы С полученой в результате перемножения блоков матриц А и В за следующим алшоритмом.
Код:
Матрица С:
	С1=А1В1+А0В2=А1В1	С0= А1В0+А0В3 = 0
	С2= А2В1+А3В2	        С3= А2В0+А3В3 =А3В3

Другими словами вот ети все матрицы и блоки нужно показать так же само как я вам тут привел ...... только в Паскале!!!
Если что не ясно спрашуйте обьясню!!!!! С уважением metamfetamin!!!!

Последний раз редактировалось metamfetamin; 03.11.2007 в 01:12.
metamfetamin вне форума Ответить с цитированием
Старый 02.11.2007, 13:41   #2
metamfetamin
Пользователь
 
Аватар для metamfetamin
 
Регистрация: 02.11.2007
Сообщений: 68
По умолчанию

Вроде отредактировал........все более менее видно и ясно!!!!

Последний раз редактировалось metamfetamin; 02.11.2007 в 14:09.
metamfetamin вне форума Ответить с цитированием
Старый 02.11.2007, 22:46   #3
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Если бы вы четко изложили условие, сделали понятные пояснения, данные привели бы в таблицах, чтобы в глазах не мельтешило от нолей и точек и т.д., то, я думаю, вым бы ответил не один человек. Меня например заинтересовала задача. Я несколько раз заглядывал сюда, надеясь, что задачу приведут в понятный вид, но так и не дождался.
puporev вне форума Ответить с цитированием
Старый 02.11.2007, 23:33   #4
metamfetamin
Пользователь
 
Аватар для metamfetamin
 
Регистрация: 02.11.2007
Сообщений: 68
По умолчанию

Дело в том что я делал что б было понятно но админ сайта скалал что файлы прикреплять нельзя.......а в етих самих файлах и были приведены матрицы в отличном виде!!!! И я не зняю как мне выложить здесь то что у меня в файла так как я понимаю что на форуме таблицу построить нельзя????????

Условие такое:
Создать программу которая делит матрицы А и B на блоки с выделение (обязательно) нулевого блока(пример A0 и B0, так как показано у меня выше) и делит таким образом что б потом можно было ети блоки перемножить(например для нахождение блока С1 нужно перемножить A1на B1 и т.д. для каждого блока) что б найти результирующую матрицу С.

Код:
Матрица С:
	С1=А1В1+А0В2=А1В1	С0= А1В0+А0В3 = 0
	С2= А2В1+А3В2	           С3= А2В0+А3В3 =А3В3
Вывод матрицы С должно осуществлятся поблочно, так как ето описано для матриц А и B кода шага 2.
Программа должна уметь:
1. Выводить исходные матрицы А и В.
2. Делить матрицы А и В на блоки (обязательно с выделением нулевого блока так как показано у меня на странице кода)и выводить их(блоки) на екран после деления.
3.Перемножать соответствующие блоки, для получения (вывода на екран) результирующей матрицы С.


Что касается того как поделены матрицы то нужно делить их так что бы выделить максимально большой нулевой блок и матрицу нужно брать которая больше, соответственно ето матрица B. В матрице В я выделил максимально большой нулевой блок(так как показано) в соответствии с тем как поделина мтрица В, матрица А делится соответствующим образом (т.е. что б поделить матрицу А, нужно смотреть на матрицу В и делить ее (матрицу А) с соответствием матрицы В)......потому что в дальнейшем мне нужно будет нахождить результирующую матрицу С которая будет получена в результате перемножения соответствующих блоков А и В.

Можна в принципе и процедуру по разбиению матриц попробывать написать!!!!!

Последний раз редактировалось Alex21; 06.11.2007 в 11:58.
metamfetamin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разбиение дочернего окна на колонки... HunterMan Win Api 3 03.04.2008 23:19
Разбиение окна на области? HunterMan Win Api 2 03.04.2008 22:18
Случайное разбиение списка на множесво маленьких списков eXa Общие вопросы Delphi 5 15.08.2007 09:23
Перемножение матриц Арина Помощь студентам 1 18.05.2007 19:21