-- 26 gru 2011, o 13:57 --
Napisałem już tyle, tylko jest błąd (po uruchomieniu programu na ekranie wyrzuca wszystkie dane, a następnie pisze, że jest błąd w linii 12 i zakańcza program, przez co nie dostaje liczby danych - licznikiem pętli jest n) i nie mam pomysłu jak te dane wrzucić do tej tablicy
Kod: Zaznacz cały
program tablica_dynamiczna
implicit none
real x
integer n
real, allocatable, dimension(:)::a ! deklaracja tabeli o nieznanym rozmiarze
open(unit=1, file='dane.txt', status='old', form='formatted')
do
n=1
read(1,*) x
write (*,*) x
enddo
write (*,*) n
read (*,*) n
allocate(a(n)) ! przydzielenie takiej ilosci miejsca w pamieci, aby w tablicy mozna bylo uzyc pieciu zmiennych
end tablica_dynamiczna
Może to chodzi tylko o typ pętli, może trzeba zastosować inną odmianę pętli DO?
-- 26 gru 2011, o 15:33 --
Dodałem etykietę która w przypadku napotkania końca pliku wykonuje program dalej, ale nie działa bo pojawia się błąd: error 90, file access and properties are incompatible. Kod jest nstępujący:
Kod: Zaznacz cały
program tablica_dynamiczna
implicit none
real x, a
integer n, i
real, allocatable, dimension(:)::a ! deklaracja tabeli o nieznanym rozmiarze
open(unit=1, file='data.dat', status='old', form='formatted', err=100)
do
i=1
read(1,end=100) x
write (*,*) x
enddo
100 write (*,*) i
allocate(a(i)) ! przydzielenie takiej ilosci miejsca w pamieci, aby w tablicy mozna bylo uzyc pieciu zmiennych
! read (*,*) n
! allocate(a(n)) ! przydzielenie takiej ilosci miejsca w pamieci, aby w tablicy mozna bylo uzyc pieciu zmiennych
end program tablica_dynamiczna