Задача по Фортрану

  • Автор темы train88
  • Дата начала
T

train88

#1
Помогите, плиз с задачей. Вот условие:

Имеется n студентов фамилии которых вводятся с клавиатуры и результаты n (max = 7) экзаменов каждого студента. В итоге на экране формируется таблица вида:

Студент Экзамен 1 Экзамен 2 Экзамен 3 Экзамен 4 Экзамен 5
Иванов 3 4 5 4 …
Петров 4 4 2 3 …
… … … … … …

После этого введенные результаты распечатать в виде трех групп студентов:
1группа – very good (Без двоек и средний бал больше 3.8)
2группа – good (все остальные)
3группа – bad student (не менее трех двоек)

Список входящих переменных:

- количество студентов
- количество экзаменов
- фамилии студентов
- наименование экзаменов


Вот сам текст:
program pr1
character A(99999)*6
integer B(99999,7)*2, VG(99999), G(99999), BD(99999), l, s,e
real sum

print*,'vvedite kolichestvo studentov :'
read*,s
print*,'vvedite kolichestvo ekzamenov (max=7):'
read*,e


do i=1,s
print *,i,' student :'
read *,A(i)
end do

do i=1,s
do j=1,e
print *,A(i),' ekzamen ',j
read *,B(i,j)
end do
end do


print *,'============================================================================
===' ! nachalo pechati tablici
print *,'| Student | Ekzamen |'
print *,'| | 1 2 3 4 5 6 7 |'
print *,'============================================================================
===' ! shapka

do i=1,s
print *,'|',A(i),'|',B(i,1),'|',B(i,2),'|',B(i,3),'|',B(i,4),'|',B(i,5),'|',B(i,6),'|',B(i,7),'|' ! zavershenie
end do

k=1
n=1
m=1


do i=1,s
print *,A(i),'#',i,' l=',l,' sum= ',sum
l=0
sum=0
do j=1,e

if (B(i,j)==2) then
l=l+1
end if

sum=sum+B(i,j)

if (j==e) then

sum=sum/e

if (l>=3) then
BD(n)=i
n=n+1
goto 11
end if

if (l==0) then
if (sum>3.8) then
VG(m)=i
m=m+1
goto 11
end if
end if

if (l<3) then
G(k)=i
k=k+1
goto 11
end if

end if


end do



11 end do


print *,'============================================================================
=================='
print *,''
print *,''

print *,'============================================================================
=================='
print *,'| Very Good | | | | | | | |'
do i=1,m-1
print *,'| ',A(VG(i)),' |',B(VG(i),1),'|',B(VG(i),2),'|',B(VG(i),3),'|',B(VG(i),4),'|',B(VG(i),5),'|',B(VG(i),6),'|',B(VG(i),7),'|'
end do
print *,'============================================================================
=================='

print *,'| Good | | | | | | | |'
do i=1,k-1
print *,'| ',A(G(i)),' |',B(G(i),1),'|',B(G(i),2),'|',B(G(i),3),'|',B(G(i),4),'|',B(G(i),5),'|',B(G(i),6),'|',B(G(i),7),'|'
end do
print *,'============================================================================
=================='

print *,'| Bad | | | | | | | |'
do i=1,n-1
print *,'| ',A(BD(i)),' |',B(BD(i),1),'|',B(BD(i),2),'|',B(BD(i),3),'|',B(BD(i),4),'|',B(BD(i),5),'|',B(BD(i),6),'|',B(BD(i),7),'|'
end do
print *,'============================================================================
=================='


pause
end



Но после компиляции выдает вот эту ошибку:
fatal error C1007:
Error executing fl32.exe.
Text1.obj - 1 error(s), 0 warning(s)

Подскажите, что надо исправить?