[ milosch89 @ 12.01.2009. 13:08 ] @
dali neko zna kako se ovo da uradim ovo?
izgleda jednostavno,al ja znam sustinu,znao bi da uradim u c,al ovaj Fortran stvarno ne mogu da razumem,nemogu da skapiram sintaksu i ona pravila,pa ako neko moz da mi pomogne.
tekst:
napisati ops¡ti potprogram, koji od glavnog programa preuzima celobrojnu kvadratnu matricu proizvoljnih dimenzija, prebrojava parne clanove i dodeljuje vrednost 1 svim ostalim clanovima.



unapred hvala.
[ Goran Rakić @ 12.01.2009. 13:36 ] @
Hajde napisi u C-u program, pa ćemo red po red da ga prevedemo na fortran.
[ digas @ 13.01.2009. 14:23 ] @
Kao sto je milosch89 rekao, ajd napisi u c-u, pa bumo u fortranu to napravili. Jer, nisam razumio sto se trazi u zadatku ("prebrojava parne clanove" - koliko je parnih clanova ili ?)

Ucitat ces matricu ovako:
Code:

dimension a(10,10)
   open(unit=11, file='matrica.dat', status='old')
   rewind(1)
      write(*,'(2x,"Matrica je reda : ")')
      read(*,*)n

      do i=1,n
         read(1,*)(a(i,j),j=1,n)
      end do
   close(1)
end


Btw, svaka matrica je kvadratna (vektori su a(n,1)). Moze bit donja il gornja trokutasta, dijagonalno dominantna etc. etc. ali opet su kvadratne gledano sa stajalista broja clanova.


Izmjena 1: A pardon, tek sad vidjeh da ovo treba ici u subrutinu. No dobro, to bumo poslije promijenili.

[Ovu poruku je menjao Aleksandar Ružičić dana 18.01.2009. u 11:46 GMT+1]
[ milosch89 @ 18.01.2009. 10:29 ] @
[quote]digas Jer, nisam razumio sto se trazi u zadatku ("prebrojava parne clanove" - koliko je parnih clanova ili ?)

da treba da prebroji parne clanove a svim koji nisu parni da dodeli vrednost jedan.......
[ bventil @ 20.01.2009. 10:51 ] @
subroutine pp(a,n) //ne secam se tacno kako se pise zaglavlje subroutine

do 1 i=1,n
do 2 j=1,n
if((a(i,j)/2)*2=a(i,j))then
s=s+1
else
a(i,j)=a(i,j)+1
endif
2 continue
1 continue (ili end do, zavisi od verzije fortrana)
[ milosch89 @ 22.01.2009. 10:25 ] @
Citat:
bventil: subroutine pp(a,n) //ne secam se tacno kako se pise zaglavlje subroutine

do 1 i=1,n
do 2 j=1,n
if((a(i,j)/2)*2=a(i,j))then
s=s+1
else
a(i,j)=a(i,j)+1
endif
2 continue
1 continue (ili end do, zavisi od verzije fortrana)



hvala...