Вы не сказали нам, что не так (как показывает проблема), но я подозреваю, что формат неправильный.Вы просто указываете (A)
, но у вас есть смешанный список вывода со строками и числами.
Вы можете просто использовать простой общий формат, такой как (*(g0))
, который будет применять общий формат g0
ко всем элементамв списке ввода.Вы захотите добавить несколько ручных пробелов (хотя у вас их уже есть) в список ввода, чтобы избежать объединения двух несвязанных элементов вывода в строке.
Или вы можете просто следовать списку ввода и добавить определенный формат длякаждый элемент, как (a,1x,f12.6,a,10(f12.6,1x),a ...
и так далее.Отрегулируйте при необходимости, особенно пробелы (либо оставьте их как ' '
с дескриптором a
, либо используйте дескриптор 1x
.
Вы также в настоящее время пишете один и тот же r
все время.Вы должны генерировать больше чисел и заново генерировать их при каждой итерации цикла
real:: r(40)
do i=1,200
call random_number(r)
write(100,'(*(g0))') '',m1,' ',r(1:10),
' ',r(11:20),'0.0',&
' ',r(21:30),&
' ',r(31:40),'0.0'
end do
Это ничего не делает с точками в сфере или чем-то подобным, это просто печатает случайные числа. Надеюсь, это понятно.