|
|
|
Oskom Forums Добро пожаловать на Oskom Forums.
|
-
Нужна помошь (Фортран)
Вот собственно нужна помошь , тк сам в етом не разбираюсь не черта =)
есть программа и нужно внести в нее изменения...
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
Буду очень признателен... заранее спасибо
-
неужели это старье где-то проходят еще?
-
Сообщение от ReD
неужели это старье где-то проходят еще?
В МАИ проходят =)
-
Нет ничего хуже,чем разбираться в чужих программах,тем более наноч глядя.Поясни что за переменные k,n,m и напомни откуда начинается нумерация элементов массива в фортране(с нулевого элемента или первого). А в программу нужно добавить,как я понял печать сообщения "Very Good",если нет двоек и максимум одна тройка и Bad,если минимум 2 двойки?
-
о господи это язык 30-тилетней давности! скажите вашему преподу что он остал от жизни
p.s. 2 пост сверху - с каких пор в массивах идет исчисление не с нуля?
----
афтар как называется среда разработки где вы пишете на этом..
и если есть инфу хоть в 2 словах по языку
--
можно впринципе и без этого
афтар k,n,m это у тебя какие оценки? и как программа работает на данный момент? вообще кто так условия дает?
-
Код:
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
.......
дальше не вникал.. в определения оценок..
афтар могу тебе написать твое задание на бейсике - они вобщем-то похожи - переделать сможешь?
-
2-Mihail:
1)В языке С первым элементом массива является А[0]
2)Как я понял программа работает следующим ооазом: Если у студента есть хотябы одна двойка,то выдается сообщение "Bad",если нет двоек,но есть хотябы одна тройка,то "Good",если 4 и 5 все,то "Very good". А буквы k,n,m, которые отвечают на расположение оценок в массивах. Результат же печается в форме таблицы,поэтому для двоек,троек и четверок с пятерками отводится отдельные массивы. Там нада условия поменять и возможно несколько счетчиков добавить...
-
ну я и говорю в каких языках массив начинается не с нуля?
и кстати с чего ты сейчас сделал выводы что Very Good в этой программе выводится с 4 и 5-ми? просто потому что так было бы логично?
k, n, m это 3, 4 и 5 соотвественно, исходя уж из текущих надписей в программе.. и задано их количество, равное единице и задача переделывается путем добавления пары цыклов, и if.. единственное что у меня не кампилятора чтобы потестить
Но одно мне остается не ясно - где тут случайным образом задаются оценки студентам?
Ваши права
- Вы не можете создавать новые темы
- Вы не можете отвечать в темах
- Вы не можете прикреплять вложения
- Вы не можете редактировать свои сообщения
Правила форума
|