0 / 0 / 0
Регистрация: 16.05.2011
Сообщений: 23
|
|
1 | |
Умножение двух матриц на С++16.05.2011, 01:02. Показов 22721. Ответов 10
Метки нет (Все метки)
Всем доброе время суток!
с днём Математиков ВАС, коллеги) Мне надо реализовать умножение 2 матриц размерности NxM1, M1xN соответственно. (реализовать при помощи стека). Программу я написал, но не могу найти причину, почему она у меня зацикливается? Не могли бы помочь?
0
|
16.05.2011, 01:02 | |
Ответы с готовыми решениями:
10
Умножение двух матриц Умножение двух матриц Умножение двух матриц Умножение двух матриц 1000х1000 |
0 / 0 / 0
Регистрация: 16.05.2011
Сообщений: 23
|
|
17.05.2011, 21:23 [ТС] | 2 |
Ребята, помогите уж пожалуйста! Кто как сможет!!!! Срок поджимают!
0
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
18.05.2011, 00:41 | 3 |
1/ Текст надо выкладывать непосредственно.
2. Умножение матриц при помощи стека - вызывает БОЛЬШИЕ сомнения... Хотя бы в учебнике читал про умножение матриц?
0
|
152 / 150 / 44
Регистрация: 09.02.2010
Сообщений: 407
|
||||||
18.05.2011, 07:42 | 4 | |||||
machines,
0
|
0 / 0 / 0
Регистрация: 16.05.2011
Сообщений: 23
|
|
18.05.2011, 17:34 [ТС] | 5 |
задание так и звучит: реализовать умножение матриц при помощи стека, тк матрицу можно представить как вектор.
При помощи массивов я его уже делал! проблема возникает при реализации с помощью стека. Первый получившийся элемент правильный. Но когда я засовываю эту подпрограмму (для вычисления одного элемент) в цикл, чтобы вычислить все элементы, то у меня возникают проблемы!
0
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
||||||
18.05.2011, 17:54 | 6 | |||||
При помощи вектора - это совсем другое дело!
Я так понял, что матрицу надо объявить с помощью векторов.
0
|
0 / 0 / 0
Регистрация: 16.05.2011
Сообщений: 23
|
|
18.05.2011, 18:12 [ТС] | 7 |
немного не до понимание вышло.
пусть заданы 2 матрицы размерности NxM1 и M1xM. Далее мы создаём стэк длиною (NxM1+M1xM). Далее ставим один указатель на начало 1-ой матрицы, а 2 указатель на начало 2-ой матрицы. => производим умножение матриц. всё правильно, стэк! массив не использовать.
0
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
18.05.2011, 18:27 | 8 |
Похоже, что ты не знаешь, что такое стек.
Стек - это динамическая структура данных, в которой доступ только к вершине. Какие указатели?! Только операции push() - положить в стек, и pop() - удалить из стека.
0
|
0 / 0 / 0
Регистрация: 16.05.2011
Сообщений: 23
|
|
18.05.2011, 19:02 [ТС] | 9 |
стэк-это набор элементов, в котором каждый элемент имеет ссылку на следующий после него элемент+ первым пришёл, последним ушёл. Нам так объясняли!
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
18.05.2011, 20:19 | 10 |
Ссылки на элементы не из этой оперы - это связные списки. Стек - структура данных без произвольного доступа, подчиняющаяся принципу LIFO - последним пришёл - первым ушёл. Как он будет реализован, в виде списка, массива или ещё как - это уже зависит от желания разработчика.
0
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
18.05.2011, 20:47 | 11 |
То, что ты написал - это СПИСОК. Список может быть использован для РЕАЛИЗАЦИИ стека.
Либо ты не понял, либо препод несет пургу...
0
|
18.05.2011, 20:47 | |
18.05.2011, 20:47 | |
Помогаю со студенческими работами здесь
11
Исправить ошибку (умножение двух матриц) Написать программу, которая выполняет умножение двух матриц Умножение двух матриц, ответ записывается в третью матрицу Умножение треугольных матриц«Методы обработки разреженных матриц» Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |