У меня есть следующий код FORTRAN, который мне нужно преобразовать в C или C++. Я уже пробовал использовать f2c, но это не сработало. Это как-то связано с преобразованием векторного вектора вектора Ламберта в вектор ориентированного на Ист-Север. Кто-нибудь испытал в FORTRAN, который мог бы помочь?Преобразование кода из FORTRAN в C
PARAMETER (ROTCON_P = 0.422618 )
PARAMETER (LON_XX_P = -95.0 )
PARAMETER (LAT_TAN_P = 25.0 )
do j=1,ny_p
do i=1,nx_p
angle2 = rotcon_p*(olon(i,j)-lon_xx_p)*0.017453
sinx2 = sin(angle2)
cosx2 = cos(angle2)
do k=1,nzp_p
ut = u(i,j,k)
vt = v(i,j,k)
un(i,j,k) = cosx2*ut+sinx2*vt
vn(i,j,k) =-sinx2*ut+cosx2*vt
end if
end do
end do
Большое спасибо за любую помощь или подсказку.
Вы точно скопировали код? У вас есть 'end if', но нет' if', чтобы он соответствовал (и 'do' без соответствия' end do'). Есть ли вероятность, что 'end if' действительно' end do'? –
Вы хотите c или C++? Вы пишете c в заголовке, но пометили вопрос тем и другим. – dmckee
Определите, что «не получилось». Вы получили ошибки компиляции? Ошибки компоновщика? Ошибки времени выполнения? Выпустил ли f2c сообщение об ошибке? Как Джерри спрашивает, вы уверены, что скопировали код правильно? Перевод должен быть достаточно простым; единственные зацепы будут следить за тем, чтобы переменные были правильного типа и объявлены в правильной области. –