LINUX.ORG.RU

[фортран]пара вопросов


0

1

1)имеется внутренняя субрутина вида

	subroutine add_e(N,MXW) 
		integer :: N
		integer, dimension(3) :: MXW
		do i=1,N
			f_e(vacant_e)=p_e0;
			if (MXW(1) .eq. 1) then
				f_e(vacant_e)%vx=f_e(vacant_e)%vx*erfinv(rand())
			else
				if (MXW(1) .eq. 2) then
				f_e(vacant_e)%vx=f_e(vacant_e)%vx*erfinv(2*rand()-1)
				end if

...

		end do
	end subroutine add_e
нужно полностью аналогично оперировать, с переменными с другими префиксами (f_i, f_a, p_i0, p_a0, vacant_i, vacant_a). как обойтись без дублирования кода?

2)программа за каждый шаг основной итерации рисует график через plplot и выводит в консоль некоторые данные. мне нужно, что бы по нажатию определённой клавиши я программа остановила цикл и выполнила некоторые действия и вернулась к циклу. естественно, задержку выставлять недопустимо. врема выполнения одной итерации ~10^{-2} сек.

★★★★★

Последнее исправление: thunar (всего исправлений: 3)

ага, первый вопрос решается ссылками. вроде f_=>f_e и соответствующими ifами

thunar ★★★★★
() автор топика
Ответ на: комментарий от aedeph

не, не то. мне же не убивать программу надо, а управлять.

thunar ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.