Программа версия 2.0
Program lab2 Integer I,J,N,UM Integer Y(100) READ *, N CALL CHISLO(N,Y,100,L,UM) PRINT *,UM PAUSE END SUBROUTINE CHISLO(B,H,O,L,SUM) INTEGER B,L,SUM,O INTEGER H(O) DO I=1,B H(I)=I ENDDO SUM=0 DO J=1,B L=1 DO I=1,J L=L*I ENDDO SUM=SUM+L ENDDO PRINT 99 PRINT 100,(H(I),I=1,B) 99 FORMAT ('.....',B('....')) 100 FORMAT (/':',1X,'I',1X,':',20(1X,I1,1X,':')) END
Приложения:
Аноним:
Программу нужно давать полностью
дал
И что, нам теперь ее руками вбивать, чтобы посмотреть, как она работает и в какой момент что выдает?
Программу добавил. Все для вас.
Что по Вашему мнению, должен выводить оператор PRINT 99, ссылающийся на 99 FORMAT ('.....',B('....')) ? Т.е. какую цель Вы преследуете, используя именно такую запись?
Я напоминаю, что B - дескриптор ДВОИЧНОГО представления данных.
И его описатель имеет в стандарте вид Bw[.n]
Кстати, какой компилятор Вы использовали? Я подозреваю, что программа изначально была под Intel Visual Fortran.
Спасибо за ответ. Хочу чтобы программа выводила нужное мне число точек, чтобы в зависимости от переменной B, верхние точки составляли верхнюю границу таблицы вывода.
Да, но выводимую строку формирует PRINT, а не FORMAT
Ответы
Ответ дал:
0
Program lab2
Integer I,J,N,UM
Integer Y(100)
READ *,N
CALL CHISLO(N,Y,100,L,UM)
PRINT *,UM
STOP
END
SUBROUTINE CHISLO(B,H,O,L,SUM)
INTEGER B,L,SUM,O
INTEGER H(O)
DO I=1,B
H(I)=I
ENDDO
SUM=0
DO J=1,B
L=1
DO I=1,J
L=L*I
ENDDO
SUM=SUM+L
ENDDO
PRINT 99,'.....',REPEAT('....',B)
PRINT 100,(H(I),I=1,B)
99 FORMAT (A,A)
100 FORMAT (/':',1X,'I',1X,':',20(1X,I1,1X,':'))
END
Integer I,J,N,UM
Integer Y(100)
READ *,N
CALL CHISLO(N,Y,100,L,UM)
PRINT *,UM
STOP
END
SUBROUTINE CHISLO(B,H,O,L,SUM)
INTEGER B,L,SUM,O
INTEGER H(O)
DO I=1,B
H(I)=I
ENDDO
SUM=0
DO J=1,B
L=1
DO I=1,J
L=L*I
ENDDO
SUM=SUM+L
ENDDO
PRINT 99,'.....',REPEAT('....',B)
PRINT 100,(H(I),I=1,B)
99 FORMAT (A,A)
100 FORMAT (/':',1X,'I',1X,':',20(1X,I1,1X,':'))
END
Вас заинтересует
1 год назад
1 год назад
2 года назад
2 года назад
3 года назад
3 года назад
9 лет назад