Помогите перевести код из паскаля в фортран f90
var i, j, k, s, x, y:integer;
a:array[1..7,1..7] of integer;
begin
x:=2;
y:=6;
for k:=1 to 4 do
begin
for i:=x-1 to y+1 do
begin
s:=s+1;
a[x-1,i]:=s;
end;
for j:=x to y+1 do
begin
s:=s+1;
a[j,i]:=s;
end;
for i:=y downto x-1 do
begin
s:=s+1;
a[y+1,i]:=s;
end;
for j:=y downto x do
begin
s:=s+1;
a[j,i]:=s;
end;
x:=x+1;
y:=y-1;
end;
writeln('massive 15 = ');
for i:=1 to 7 do
begin
for j:=1 to 7 do
write(a[i,j]:5);
writeln;
end;
end.
BobbyFresnel:
Эта программа некорректна. Во-первых, она использует неинициализированное знапчение переменной s. Во вторых, она использует значения переменных i, и j после того, как они были задействованы в циклах в качестве параметров, что также некорректно. Поэтому в таком виде эта рпограмма не может быть перенесена ни в какой другой язык.
Ответы
Ответ дал:
1
Program F90
integer i, j, k, s /0/, x/2/, y/6/, a(7, 7)
do k = 1, 4
do i = x - 1, y + 1
s = s + 1
a(x - 1, i) = s
end do
i = y + 1
do j = x, y + 1
s = s + 1
a(j, i) = s
end do
do i = y, x - 1, -1
s = s + 1
a(y + 1, i) = s
end do
i = x - 1
do j = y, x, -1
s = s + 1
a(j, i) = s
end do
x = x + 1
y = y - 1
end do
Print *, 'massive 15 = '
Write(*, '(7i5)') ((a(i, j), j=1, 7), i=1, 7)
End Program
Приложения:
![](https://st.uroker.com/files/fc6/fc63932a463166bfc2ae0311b7010429.jpg)
Вас заинтересует
1 год назад
1 год назад
6 лет назад
6 лет назад
8 лет назад