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

Тема в разделе "Другие задачи", создана пользователем train88, 11 янв 2011.

  1. train88

    train88 Гость

    Репутация:
    0
    Помогите, плиз с задачей. Вот условие:

    Имеется 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)

    Подскажите, что надо исправить?
     
Загрузка...
Похожие Темы - Задача по Фортрану
  1. petiablack
    Ответов:
    0
    Просмотров:
    54
  2. Kazua
    Ответов:
    1
    Просмотров:
    163
  3. Rina
    Ответов:
    0
    Просмотров:
    107
  4. TrishaRay
    Ответов:
    1
    Просмотров:
    987
  5. ArtAlex
    Ответов:
    0
    Просмотров:
    1.012

Поделиться этой страницей