Oskom Forums

Oskom Forums


Добро пожаловать на Oskom Forums.
 
 
Сейчас на шардах UO Oskom
 
+ Ответить в теме
Показано с 1 по 8 из 8
  1. Master

    Регистрация
    29.10.2005
    Адрес
    [Y.C] & [SoT]
    Сообщений
    1,143
    #1

    По умолчанию Нужна помошь (Фортран)

    Вот собственно нужна помошь , тк сам в етом не разбираюсь не черта =)

    есть программа и нужно внести в нее изменения...

    1)Very Good нет двоек и максимум одна тройка

    2) Bad минимум 2 двойки



    program pr1
    character A(10)*12
    integer B(10,5)*2, VG(10), G(10), BD(10), l, s,e

    print*,'vvedite kolichestvo studentov (max=10):'
    read*,s
    print*,'vvedite kolichestvo ekzamenov (max=5):'
    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 |'
    print *,'=============================================== ===========================' ! shapka

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

    k=1
    n=1
    m=1

    do i=1,s
    l=0
    do j=1,e

    if (B(i,j)<3) then
    BD(k)=i
    k=k+1
    goto 11
    end if

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

    if (j==e) then

    if (l>0) then
    G(n)=i
    n=n+1
    goto 11
    end if

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

    end if

    end do


    11 end do


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

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

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

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


    pause
    end



    Буду очень признателен... заранее спасибо

  2. Master

    Регистрация
    22.02.2003
    Адрес
    Dominatio Violentia
    Сообщений
    1,266
    #2

    По умолчанию

    неужели это старье где-то проходят еще?

  3. *AoS*

    Регистрация
    29.06.2005
    Адрес
    † [AoS] †
    Сообщений
    3,345
    #3

    По умолчанию

    Цитата Сообщение от ReD
    неужели это старье где-то проходят еще?
    В МАИ проходят =)

  4. Expert

    Регистрация
    13.03.2005
    Адрес
    [KACTA]
    Сообщений
    546
    #4

    По умолчанию

    Нет ничего хуже,чем разбираться в чужих программах,тем более наноч глядя.Поясни что за переменные k,n,m и напомни откуда начинается нумерация элементов массива в фортране(с нулевого элемента или первого). А в программу нужно добавить,как я понял печать сообщения "Very Good",если нет двоек и максимум одна тройка и Bad,если минимум 2 двойки?

  5. Grandmaster
    [Banned]
    Регистрация
    05.04.2006
    Адрес
    Mihail[D-Tox]
    Сообщений
    3,443
    #5

    По умолчанию

    о господи это язык 30-тилетней давности! скажите вашему преподу что он остал от жизни

    p.s. 2 пост сверху - с каких пор в массивах идет исчисление не с нуля?



    ----
    афтар как называется среда разработки где вы пишете на этом..
    и если есть инфу хоть в 2 словах по языку


    --
    можно впринципе и без этого
    афтар k,n,m это у тебя какие оценки? и как программа работает на данный момент? вообще кто так условия дает?

  6. Grandmaster
    [Banned]
    Регистрация
    05.04.2006
    Адрес
    Mihail[D-Tox]
    Сообщений
    3,443
    #6

    По умолчанию

    Код:
    program pr1 
    character A(10)*12  // массив из 10 студентов.. ээ.. с ограничением в 12 символов на фамилию?
    integer B(10,5)*2, VG(10), G(10), BD(10), l, s,e  // двумерный массив с ограничением 2, 3 простых и переменные
    
    print*,'vvedite kolichestvo studentov (max=10):' 
    read*,s 	// получаем кол-во студентов
    print*,'vvedite kolichestvo ekzamenov (max=5):' 
    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 |' 
    print *,'==========================================================================' ! shapka 
    
    do i=1,s 
    // студент... и.. э.. экзамены?
    print *,'|',A(i),'|',B(i,1),'|',B(i,2),'|',B(i,3),'|',B(i,4),'|',B(i,5),'|' ! zavershenie 
    end do 
    .......
    дальше не вникал.. в определения оценок..
    афтар могу тебе написать твое задание на бейсике - они вобщем-то похожи - переделать сможешь?

  7. Expert

    Регистрация
    13.03.2005
    Адрес
    [KACTA]
    Сообщений
    546
    #7

    По умолчанию

    2-Mihail:
    1)В языке С первым элементом массива является А[0]
    2)Как я понял программа работает следующим ооазом: Если у студента есть хотябы одна двойка,то выдается сообщение "Bad",если нет двоек,но есть хотябы одна тройка,то "Good",если 4 и 5 все,то "Very good". А буквы k,n,m, которые отвечают на расположение оценок в массивах. Результат же печается в форме таблицы,поэтому для двоек,троек и четверок с пятерками отводится отдельные массивы. Там нада условия поменять и возможно несколько счетчиков добавить...

  8. Grandmaster
    [Banned]
    Регистрация
    05.04.2006
    Адрес
    Mihail[D-Tox]
    Сообщений
    3,443
    #8

    По умолчанию

    ну я и говорю в каких языках массив начинается не с нуля?
    и кстати с чего ты сейчас сделал выводы что Very Good в этой программе выводится с 4 и 5-ми? просто потому что так было бы логично?
    k, n, m это 3, 4 и 5 соотвественно, исходя уж из текущих надписей в программе.. и задано их количество, равное единице и задача переделывается путем добавления пары цыклов, и if.. единственное что у меня не кампилятора чтобы потестить
    Но одно мне остается не ясно - где тут случайным образом задаются оценки студентам?

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения