Помощь - Поиск - Пользователи - Календарь
Полная версия: Умножение матриц > Информатика / Программирование
Образовательный студенческий форум > Другие дисциплины > Информатика / Программирование
Lutik
Нажмите для просмотра прикрепленного файла
Нужно написать программу для проверки: то есть умножить А(i,j) на X(i), чтобы получить вектор B(i).
Подскажите пожалуйста правильно ли я рассуждаю:
нужно написать в Real*4 S(10) (в самом начале)
далее после данной программы ввести S=A(i,j)*X(i), напечатать Write (*,*)S и Еnd
Vago
Цитата(Lutik @ 30.10.2009, 19:12) *

далее после данной программы ввести...

Если на месте красной линии, то Вы в это место при нормальном завершении стандартной п/п никогда не попадёте.
Цитата(Lutik) *

S=A(i,j)*X(i)

Нет. Тут два цикла, один в другом, явно, ручками, прописать надо.
Lutik
оки, значит нужно сделать цикл Do i=1,10 и do j=1,10 потом S=A(i,j)*X(i) и печать?
Vago
Нет. Во внешнем цикле ( который у Вас по I ) сперва нужно обнулить S(I), а потом, во внутреннем ( по J ), поприбавлять к этому S(I) попарные произведения A(I,J)*X(J).
Lutik
Do i=1,10
s(i)=0
do j=1,10
S(i)=s(i)+A(i,j)*X(i)
write(*,*)s(i)
Vago
Цитата(Lutik @ 30.10.2009, 23:11) *

S(i)=s(i)+A(i,j)*X(i)

x(j) . X йот'ое.

Ну и циклы позакрывать нужно...
Lutik
Do i=1,10
s(i)=0
do j=1,10
S(i)=s(i)+A(i,j)*X(j)
enddo
endoo
write(*,*)s(i)
при закрывании цикла не могу быть уверен может быть после Write
Vago
Цитата(Lutik @ 30.10.2009, 23:31) *

...
enddo
endoo
write(*,*)s(i)

...
enddo
write(*,*)s(i)
enddo

Красоты, конечно, никакой, но хотя бы не за циклом печатаем...

Lutik
Спасибо разобрался
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2025 Invision Power Services, Inc.