Как упоминал Ян, ваш файл перезаписывается для каждого i, потому что ваш оператор open находится внутри цикла.Фортран открывает файл заново для каждого i.Переместите оператор open до цикла, чтобы он открывался только один раз.
Конечно, он записан в строках, потому что первый индекс в двумерном массиве - это индекс строки.Вы можете переключать индексы, если хотите.С другой стороны, согласно вашему первому блоку, все выглядит так, как будто вам нужны строки в столбцах.
Вы говорите, что вам нужно написать только некоторые элементы.Пока они находятся в непрерывном блоке, вы захотите использовать implied do loop
в операторе записи.Это гораздо более кратко, и вы можете писать большие блоки, не набирая много переменных специально.Это выглядело бы так:
open (unit=10,file="out.txt",action="write")
do i=1,4
write (10,*) (A(j,i), j=1,3)
end do
close (10)
Опять же, это переворачивает строки и столбцы, если вы хотите традиционное представление, переключите i и j.