Konuyu görüntüle
IUCODERS FORUM > Programlama > C / C++ > Arkadaşlar Nerde Hata Yapıyorum? (Fortran)
Yazar
byeark


avatar

Kayıt: 28.10.2010
31.10.2010-13:31 #71689
Klavyeden m ve n tamsayıları girildiğinde, m ve n arasında kalan tam sayılar
içerisinden basamaklarının küplerinin toplamı kendisine esit olan sayıları ekrana yazdıran
programı yazınız.

program ornek
implicit none
integer::m,n,i,k,b
print*, "m n araligi giriniz"
read*,m
read*,n
k=0
do i=m,n
do while( i>0 )

b=mod(i,10)
i=i/10
k=k+b**3

if (i==k) then
  print*, i
  else
    end if

end do
end do
    
    end program







Yazar
fenerista


avatar
Istanbul
Kayıt: 27.11.2006
01.11.2010-00:03 #71701
Hala mı fortran d oh





Oktay,
Thk you!





Yazar
burakkanmaz


avatar
Gaziantep
Kayıt: 02.10.2006
01.11.2010-01:29 #71703
@Berkay,

Bu forumu bölümdeki hocalarda takip ediyor. Önceki senelerde birçok defa burada paylaşılan kodlar yüzünden toplu kopya muamelesi görüp sınıfca dersten eksik not verilmiş ve birkaç arkadaşımız direk F alarak bırakılmıştır.

Bu sebeple, kendi menfaatin adına sadece takıldığın yeri sor ve takıldığın kısmı yaz. Tüm ödev kodunu yazıp kendini tehlikeye atma ;)





Yazar
ali


avatar
istanbul
admin
Kayıt: 04.01.2006
01.11.2010-09:38 #71705
byeark yazdi
 
Klavyeden m ve n tamsayıları girildiğinde, m ve n arasında kalan tam sayılar
içerisinden basamaklarının küplerinin toplamı kendisine esit olan sayıları ekrana yazdıran
programı yazınız.

program ornek
implicit none
integer::m,n,i,k,b
print*, "m n araligi giriniz"
read*,m
read*,n
k=0
do i=m,n
do while( i>0 )

b=mod(i,10)
i=i/10
k=k+b**3

if (i==k) then
  print*, i
  else
    end if

end do
end do
    
    end program



7 ve 8 inci satiri yer degistir. Baya olmustu fortran gormeyeli :)





free software is a matter of liberty, not price. to understand the concept, you should think of free speech, not free beer.
Yazar
byeark


avatar

Kayıt: 28.10.2010
01.11.2010-12:07 #71706
arkadaşlar ben istanbul üniversitesi öğrencisi değilim o yüzden problem yok soruyu çözmüştüm zaten ilgilenen arkadaşlara yinede teşekkür ederim son yazan arkadaşın dedigi gibi bir problem varmış 7 ve 8. satır yer değiştirme





Yazar
princemeth


avatar

Kayıt: 01.11.2010
01.11.2010-12:48 #71708
bnde birebir yukarıdaki kodları yazdım, 7. ve 8. satırı değiştirdim,fakat hata alıyorum 12. satırda.
f95(12) ı is currently being used as a do or implied do control variable
bu konuda yardımcı olabilecek olan?





Yazar
burakkanmaz


avatar
Gaziantep
Kayıt: 02.10.2006
01.11.2010-13:08 #71709
byeark yazdi
 
arkadaşlar ben istanbul üniversitesi öğrencisi değilim o yüzden problem yok soruyu çözmüştüm zaten ilgilenen arkadaşlara yinede teşekkür ederim son yazan arkadaşın dedigi gibi bir problem varmış 7 ve 8. satır yer değiştirme


Ha o zaman sorun yok biggrin Devam et





Yazar
clairvoyant


avatar
Antalya
Kayıt: 05.05.2006
01.11.2010-14:49 #71710
princemeth yazdi
 
bnde birebir yukarıdaki kodları yazdım, 7. ve 8. satırı değiştirdim,fakat hata alıyorum 12. satırda.
f95(12) ı is currently being used as a do or implied do control variable
bu konuda yardımcı olabilecek olan?

Koddaki tek hata 7. ve 8. satırların yerleri değil.

2) 20. satırdaki "end do" ifadesi "if (i==k)" ifadesinden önce gelmeli.

3) "do while" dan önce i'nin geçici bir değişkene atanması gerekiyor ve içerideki işlemin bu geçici değişken üzerinden yapılması gerekiyor.

tmp = i
do while( tmp > 0 )
b = mod(tmp,10)
k = k + b**3
tmp = (tmp-b)/10
end do






Let`s make this world a better place to live !

Yazar
princemeth


avatar

Kayıt: 01.11.2010
01.11.2010-20:07 #71712
hmm o zaman şöyle mi olmalı?

program ornek
implicit none
integer::m,n,i,k,b
print*, "m n araligi giriniz"
read*,m
read*,n
do i=m,n
k=0
tmp = i 
do while( tmp > 0 ) 
b = mod(tmp,10) 
k = k + b**3 
tmp = (tmp-b)/10 

end do

do while( i>0 )

if (i==k) then
  print*, i
  else
    end if

end do
    
    end program






Yazar
clairvoyant


avatar
Antalya
Kayıt: 05.05.2006
01.11.2010-20:44 #71713
princemeth yazdi
 
hmm o zaman şöyle mi olmalı?

program ornek
implicit none
integer::m,n,i,k,b
print*, "m n araligi giriniz"
read*,m
read*,n
do i=m,n
k=0
tmp = i 
do while( tmp > 0 ) 
b = mod(tmp,10) 
k = k + b**3 
tmp = (tmp-b)/10 

end do

do while( i>0 )

if (i==k) then
  print*, i
  else
    end if

end do
    
end program

Kodu hiç test etmiyor musun? 2 tane bariz hata var, derlediğin zaman ortaya çıkar.





Let`s make this world a better place to live !

Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb