Форум программистов, компьютерный форум CyberForum.ru

Перевести с Fortran на C++ - C++

Восстановить пароль Регистрация
 
gudovanets
1 / 1 / 0
Регистрация: 12.02.2015
Сообщений: 45
13.06.2016, 17:29     Перевести с Fortran на C++ #1
Пожалуйста, помогите перевести кусок программы с фортрана на с++
Fortran
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
REAL * 8 FY(2, 40, 40)
, , KU, A, B, HKU, RA
COMMON / NXY / NX, NY
COMMON / GF / KU, A, B
PRINT 11
11 FORMAT(' КОРНИ УРАВНЕНИЯ '1, 'РЕЛЕЯ-ЛЕМБА')
N1 = 3
A = 1.D0
B = 1.D0 / 3.5D0
KU = 4.71D0
HKU = 0.01D0
2 CONTINUE
CALL BBOD
DO 1 I = 1, NI
KU = KU + (I - 1)*HKU
PRINT 10, KU
10 FORMAT('ЧАСТОТН. ПАРАМ. KU=', F7.3)
CALL COORD(FY, NX, NY)
1 CONTINUE
GO TO 2
3 CONTINUE
STOP
END
 
-------------------------------------- -
SUBROUTINE BBOD
REAL * 8 EPS, EPS1, EPS2, H, H1, SX, SY
COMMON / EPN / EPS2, H, H1, SX, SY, / EP / EPS, EPS1, LL / NXY / NX, NY
READ 1, EPS, EPS1, EPS2
READ 2, H, H1, SX, SY
READ 3, NX, NY, LL
PRINT 4, EPS, EPS1, EPS2
PRINT 5, H, H1, SX, SY
PRINT 6, NX, NY, LL
1 FORMAT(1X, 3D7.0)
2 FORMAT(1X, 4F7.3)
3 FORMAT(1X, 3I3)
4 FORMAT(1X, ' MIN L KB -TA=', D12.5, , 'ТОЧН. ДЕЛ.ОТР НА 2=', D12.5, , 'МАКС. ПОГР. В КОРНЕ =',D12.5)
5 FORMAT ('H,H1,SX,SY==',4F7.3)
6 FORMAT ('NX,NY,LL==',3I3)
RETURN
END
 
-----------------------------------------
 
SUBROUTINE FK8(MBK,KX,KY,HX,HY)
REAL*8 MBK(2,4),KX,KY,HX,HY
MBK(1,1)=KX
MBK(2,1)=KY
MBK(2,2)=KY+HY
MBK(1,3)=KX+HX
MBK(2,3)=KY+HY
MBK(1,4)=KX+HX
MBK(2,4)=KY
RETURN
END
 
_________________________________
 
SUBROUTINE COORD(FY,NX,NY)
REAL*8 SF(2,4), BK(2,4),KX,KY,,H,H1,SX,SY,FI,PSI,,EPS,EPS1,EPS2,,FY(2,NY,NX)
COMMON/FF/FI/PSI,/EPN/EPS2,H,H1,SX,SY,/EP/EPS,EPS1,LL,/CK/IND
IND=0
NX1=NX-1
NY1=NY-1
DO 28 I=1,NX
DO 28 J=1,NY
KX=(I-1)*H+SX
KY=(J-1)*H1+SY
CALL FUN(KX,KY)
FY(1,J,I)=DSIGN(1.D0,FI)
28 FY(2,J,I)=DSIGN(1.D0,PSI)
DO 1 I=1, NX1
DO 2 J=1, NY1
KX=(I-1)*H*SX
KY=(J-1)*H1*SY
CALL FKB(BK,KX,KY,H,H1)
DO 3 K=1,2
SF(K,1)=FY(K,J,I)
SF(K,2)=FY(K,J+1,I)
SF(K,3)=FY(K,J+1,I+1)
3 SF(K,4)=FY(K,J,I+1)
CALL KBADM(IS,BK,SF)
IF(IS.EQ.0) GO TO 2
CALL KNA4M(SF,KX,KY,H,H1)
2 CONTINUE
1 CONTINUE
KX=SX+H*(NX-1)
KY=SY+H1*(NY-1)
IF(IND.LT.1) PRINT 11,SX,SY,KX,KY
11 FORMAT('КОРНЕЙ НЕТ ИСХОДНЫЙ ПРЯМОУГЛ.'1,'SX,SY,KX,KY==',4F10,6)
RETURN
END
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2016, 17:29     Перевести с Fortran на C++
Посмотрите здесь:

Перевести на С. C++
C++ Перевести С++ --> C
C++ Перевод с Fortran на С++
Перевести с C на C++ C++
C++ Из Fortran в C++
Перевод с Fortran на С++ C++
Чтение бинарника fortran в C++ C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 12:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru