Yazar |
|
extreme
Kahramanmaras
admin
Kayıt: 24.10.2006 |
|
alew yazdi | bi mutluluk kargaşası olmuş ama gerçekten kodlar süper çok saol annadım ben onu ama senin dikkat et dediğin yeri anlamadım nereye n demicez de i dicez dizilerde
yani do i=1,n demek yerine
do n=1,i ye mi demek zorundayız diosun???
ya bir de bi şey sorcam ben senin yolladığın ikinci kodu kendim yazıyım dedim hatasiz yazdım ama doğru çalişmiyor eğer zamanın varsa bi bakabilirmisin
integer,dimension(100)::m
character*10,dimension(100)::ad
integer i,j,gecici,n,z
character*10 sor,isim
open(8,file="c:/msdev/projects/newiki/alev.txt",form="formatted")
do i=1,n
read(8,1)ad(i),m(i)
1 format(a10,I10)
end do
close(8)
do i=1,n
write(*,*)ad(i),m(i)
end do
50 write(*,*)"isme ait maas degisikligi icin 1"
write(*,*)"yeni kayit icin 2"
write(*,*)"gir"
read(*,*)z
select case (z)
case(1)
write(*,*)"maasini degismek istedigin ismi gir"
read(*,*)isim
do i=1,n
if(isim==ad(i)) then
write(*,*)"bu isme ait yeni maasi gir"
read(*,*)m(i)
end if
end do
case(2)
n=n+1
write(*,*)n,". kisinin ismi ve maasi"
read(*,*)ad(i),m(i)
case default
write(*,*)"yanlis deger girdiniz"
go to 50
end select
write(*,*)"yeni maaslara göre isim sıralamasi"
do i=1,n-1
do j=i+1,n
if(m(i)>m(j)) then
gecici=m(i)
m(i)=m(j)
m(j)=gecici
sor=ad(i)
ad(i)=ad(j)
ad(j)=sor
end if
end do
end do
write(*,*)"dosyanın yeni hali"
open(8,file="c:/msdev/projects/newiki/alev.txt",form="formatted")
do i=1,n
write(*,*)ad(i),m(i)
write(8,1)ad(i),m(i)
2 format(a10,I10)end do
close(8)
end
|
do i=1,n dediğinde seri formülüne i yaz demek istedim.
1.koyu kısım hatalı, n sayısını bilmeden do i=1,n demişsin önce n sayısını okutman lazım..
ör
n=0
do
n = n + 1
read(8,1,end=30) isim,maas
isim = ad(n)
maas = m(n)
end do
30 close(8)
gibi, isim ve maas degiskenleri tanımalısın. read teriminden sonra ad(n) yazarsan hata veriyo nie bilmiyorum.
ikinci koyu yerde
do i=1,n
do j=i+1,n
olmalı
3. sünde ise
write(8,1)ad(i),m(i)
yerine
isim = ad(i)
maas = m(i)
write(8,1) isim,maas
olmalı. senin yazdığın gibi yazında hata veriyo neden bilmiyorum, program hatası heralde...
4. ve son olarak
2 format die naımlamışsın, 1 kullanmışsın. ayrıca formatı program başında yazmalısın.
The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com
|
|
Yazar |
|
alew
istanbul
Kayıt: 01.04.2007 |
|
ya senin dediğin gibi yaptım gene hata vermio ama çalıştırırken bir yere kadar çalişiyo sonra çalişmiyo
yardımcı olacak kimse yok muuu????????????????????
lütfen biri yardım etsin
integer,dimension(100)::m
character*10,dimension(100)::ad
integer i,j,gecici,n,z
character*10 sor,isim
open(8,file="c:/msdev/projects/newiki/alev.txt",form="formatted")
do i=1,n
read(8,1)isim,maas
isim=ad(n)
maas=m(n)
1 format(a10,I10)
end do
close(8)
do i=1,n
write(*,*)ad(i),m(i)
end do
50 write(*,*)"isme ait maas degisikligi icin 1"
write(*,*)"yeni kayit icin 2"
write(*,*)"gir"
read(*,*)z
select case (z)
case(1)
write(*,*)"maasini degismek istedigin ismi gir"
read(*,*)isim
do i=1,n
if(isim==ad(i)) then
write(*,*)"bu isme ait yeni maasi gir"
read(*,*)m(i)
end if
end do
case(2)
n=n+1
write(*,*)n,". kisinin ismi ve maasi"
read(*,*)ad(i),m(i)
case default
write(*,*)"yanlis deger girdiniz"
go to 50
end select
write(*,*)"yeni maaslara gore isim siralamasi"
do i=1,n
do j=i+1,n
if(m(i)>m(j)) then
gecici=m(i)
m(i)=m(j)
m(j)=gecici
sor=ad(i)
ad(i)=ad(j)
ad(j)=sor
end if
end do
end do
write(*,*)"dosyanin yeni hali"
open(8,file="c:/msdev/projects/newiki/alev.txt",form="formatted")
do i=1,n
isim=ad(i)
maas=m(i)
write(8,2)isim,maas
2 format(a10,I10)
end do
close(8)
end
|
|
|
|