Embed Size (px)

1/18

ROK

29.01.2010.

Sa konzole uitati matricuA dimenzijaNx M. Nai sumu vanjskih elemenata matrice.Koristiti podprogram koji daje sumu elemenata jednodimenzionalnog niza. Matricu A i

sve rezultate ispisati u fajl.

Fortran

program matrica

implicit none

integer i,j,n,m

real a(10,10),k1(10),k2(10),r1(10),r2(10),s1,s2,s3,s4,s,suma1

write(*,*)'Unesi dimenzije matrice n i m :'

do i=1,n

do j=1,m

end doend do

do i=1,n

k1(i)=a(i,1)

k2(i)=a(i,m)

end dodo j=2,m-1

r1(j)=a(1,j)

r2(j)=a(n,j)

end do

OPEN(9,file='matrica.dat')write(9,*)'Nasa matrica je :'

do i=1,n

write(9,*)(a(i,j),j=1,m)

end do

write(9,*)'Prva kolona je :'do i=1,n

write(9,*)k1(i)

do i=1,nwrite(9,*)k2(i)

end do

write(9,*)'Prvi red je :'

do j=2,m-1

write(9,*)r1(j)end do

do j=2,m-1

write(9,*)r2(j)

end dosuma1=0

call suma(k1,suma1)

s1=suma1

call suma(k2,suma1)

s2=suma1call suma(r1,suma1)

s3=suma1

call suma(r2,suma1)

s4=suma1

s=s1+s2+s3+s4write(9,*)'Suma vanjskih elemenata matrice je :',s

close(9)

end

subroutine suma(x,suma1)implicit none

integer i,n

real x(10),suma1

suma1=0

do i=1,nsuma1=suma1+x(i)

end do

end

2/18

C

#include#include

void suma(float x[10],int k,int n);

float suma1;

main()

{

int i,j,n,m,k;float a[10][10],x[10],k1[10],k2[10],r1[10],r2[10],s1,s2,s3,s4,s;

FILE *fp;

printf("\n Unesi dimenzije matrice :\n");

scanf("\n %d",&n);printf("\n Unesi dimenzije matrice :\n");

scanf("\n %d",&m);

printf("\n Unesi elemente matrice :\n");

for (i=0;i

3/18

ROK

15.01.2010.

Sa konzole uitati matricuA dimenzijaN x N. Nai najvei element u svakoj kolonimatrice i ispisati ga. Napraviti podprogram koji trai najvei element

jednodimenzionalnog niza. Ispitati da li je vea suma ili produkt najveih elemenata u

kolonama. Matricu A i sve rezultate ispisati u fajl.

Fortran

program matrica1

implicit none

integer i,j,k,n

real a(10,10),x(10),max,suma,prod

write(*,*)'Unesi elemente matrice :'

do i=1,n

end do

end doOPEN(9,file='matrica.dat')

write(9,*)'Nasa matrica je :'do i=1,n

write(9,*)(a(i,j),j=1,n)

end do

suma=0

prod=1do j=1,n

do i=1,n

x(i)=a(i,j)

end do

call najveci(x,n,max)write(9,*)'Najveci clan kolone',j,'je:',max

suma=suma+max

prod=prod*max

end do

write(9,*)'Suma najvecih clanova svih kolona je:',sumawrite(9,*)'Proizvod najvecih clanova svih kolona je:',prod

if (suma.gt.prod) then

write(9,*)'Suma je veca od proizvoda'

else

write(9,*)'Proizvod je veci od sume'end if

close(9)

end

subroutine najveci(x,n,max)

implicit none

integer i,n

real x(10),max

max=x(1)

do i=2,nif (max.lt.x(i)) then

max=x(i)

end if

end doend

4/18

C

#include#include

void najveci(float x[10],int n);

float max;

main()

{int i,j,n;

float a[10][10],x[10],suma,prod;

FILE *fp;

printf("\n Unesi dimenziju matrice :\n");scanf("\n %d",&n);

printf("\n Unesi elemente matrice :\n");

for (i=0;i

5/18

ROK

10.12.2009.

Uitati niz odNelemenata. Nai sumu parnih i neparnih elemenata tog niza i sortirati nizod najveeg ka najmanjem. Napraviti podprogram za raunanje sume niza. Sve rezultate

ispisati u fajl.

Fortran

program nizimplicit none

integer i,j,n

real a(10),sp,sn,m

write(*,*)'Unesi broj elemenata niza'

do i=1,n

end do

OPEN(9,file='niz.dat')write(9,*)'Nas prvobitni niz je:'

do i=1,n

write(9,*)a(i)

end do

call suma(a,n,sp,sn)write(9,*)'Suma parnih elemenata je:',sp

write(9,*)'Suma neparnih elemenata je:',sn

do i=1,n-1

do j=i+1,n

if (a(i).lt.a(j)) thenm=a(i)

a(i)=a(j)

a(j)=m

end if

end doend do

write(9,*)'Nas niz nakon redanja je :'

do i=1,n

write(9,*)a(i)end doclose(9)

end

subroutine suma(a,n,sp,sn)implicit none

integer i,n

real a(10),x,sp,sn

sp=0

sn=0do i=1,n

x=mod(i,2)

if (x.eq.0) then

sp=sp+a(i)

else

sn=sn+a(i)end if

end do

end

6/18

C

#include

#include

void suma(float a[10],int n);

float sp,sn;main()

{

int i,j,n;

float a[10],m;

FILE *fp;printf("\n Unesi broj elemenata niza:\n");

scanf("\n %d",&n);

printf("\nUnesi elemente niza:\n");

for (i=0;i

7/18

ROK

10.07.2009.

Sa konzole uitati elemente kvadratne matrice dimenzija n. Izraunati trag i antitrag datematrice. Pri tome koristiti podprogram koji daje sumu jednodimenzionalnog niza.

Fortran

program matrica3implicit none

integer i,j,nreal a(10,10),x(10),y(10),z(10),trag,atrag,s

write(*,*)'Unesi dimenziju matrice:'

write(*,*)'Unesi elemente matrice:'

do i=1,ndo j=1,n

end do

end do

OPEN(9,file='matrica.dat')write(9,*)'Nasa matrica je :'

do i=1,nwrite(9,*)(a(i,j),j=1,n)

end do

do i=1,nx(i)=a(i,i)

end do

do i=1,n

y(i)=a(i,n+1-i)

end docall suma(x,n,s)

trag=s

call suma(y,n,s)

atrag=s

write(9,*)'Trag matrice je:',tragwrite(9,*)'Antitrag matrice je:',atrag

close(9)

end

subroutine suma(z,n,s)

implicit none

integer i,n

real z(10),ss=0

do i=1,n

s=s+z(i)

end do

end

C

#include

#include

void suma(float z[10],int n);float s;

main()

{

int i,j,n;

float a[10][10],x[10],y[10],z[10],trag,atrag;FILE *fp;

printf("\n Unesi dimenziju matrice:\n");

scanf("\n %d",&n);

printf("\n Unesi elemente matrice:\n");

for (i=0;i

8/18

ROK

10.07.2009.

Sa konzole uitati niz od 10 lanova. Sortirati niz od najveeg ka najmanjem poreenjemsvakog elementa sa svim koji se nalaze desno od njega. Napraviti podprogram koji vri

zamjenu dva lana niza. Nai mjesto na kome se prvobitno nalazio najvei lan niza. Sve

rezultate ispisati u fajl.Fortran

program niz1implicit none

integer i,j,n,poz

real a(10),max,x

write(*,*)'Unesi broj elemenata niza'

do i=1,n

end do

OPEN(9,file='niz.dat')write(9,*)'Nas prvobitni niz je:'

do i=1,n

write(9,*)a(i)end do

max=a(1)poz=1.

do i=2,n

if (max

9/18

ROK

18.09.2009.

Sa konzole uitati dvije kvadratne matriceA iB reda n . Odrediti komutator ovih matrica[A,B]=AB-BA i izraunati njegov trag. Napraviti podprogram za mnoenje matrica. Sve

rezultate ispisati u fajl.

Fortran

program matrica3

implicit noneinteger i,j,k,n

real a(10,10),b(10,10),ab(10,10),p1(10,10),p2(10,10),p(10,10)

real x(10,10),y(10,10),trag

write(*,*)'Unesi dimenziju matrica:'

do i=1,n

do j=1,n

end doend do

write(*,*)'Unesi elemente matrice B'do i=1,n

do j=1,n

end do

OPEN(9,file='matrica.dat')

write(9,*)'Matrica A je:'

do i=1,nwrite(9,*)(a(i,j),j=1,n)

end do

write(9,*)'Matrica B je:'

do i=1,n

write(9,*)(b(i,j),j=1,n)end do

call proizvod(a,b,n,p1)

call proizvod(b,a,n,p2)

do i=1,ndo j=1,n

ab(i,j)=p1(i,j)-p2(i,j)

end do

end do

write(9,*)'Komutator [AB]=AB-BA je:'do i=1,n

write(9,*)(ab(i,j),j=1,n)

end do

trag=0

do i=1,ntrag=trag+ab(i,i)

end do

write(9,*)'Trag naseg komutatora je:',trag

close(9)

end

subroutine proizvod(x,y,n,p)implicit none

integer i,j,k,n

real x(10,10),y(10,10),p(10,10)

do i=1,n

do j=1,np(i,j)=0

do k=1,n

p(i,j)=p(i,j)+x(i,k)*y(k,j)

end do

end doend do

end

10/18

C

#include#include

void proizvod(float x[10][10],float y[10][10],int n);

float p[10][10];

main()

{

int i,j,k,n;float a[10][10],b[10][10],ab[10][10],p1[10][10],p2[10][10],trag;

FILE *fp;

printf("\n Unesi dimenziju matrica:\n");

scanf("\n %d",&n);printf("\n Unesi elemente matrice A:\n");

for (i=0;i

11/18

ROK

08.09.2009.

Sa konzole uitati matricu A dimenzija n x m . izraunati sumu elmenata svake kolone iproizvod elemenata svakog reda. Napraviti podprograme koji raunaju sumu i proizvod

jednodimenzionalnog niza. Matricu i sve rezultate ispisati u fajl.

Fortran

program matrica4implicit none

integer i,j,l,h,n,m

real a(10,10),k(10),r(10),x(10),s,p

write(*,*)'Unesi dimenzije matrice:'

do i=1,n

do j=1,m

end doend do

OPEN(9,file='matrica.dat')write(9,*)'Nasa matrica je:'

do i=1,n

write(9,*)(a(i,j),j=1,m)end do

do j=1,m

do i=1,n

k(i)=a(i,j)

end dowrite(9,*)'Kolona',j,'je:'

do i=1,n

write(9,*)k(i)

end do

call suma(k,n,s)write(9,*)'I suma njenih elemenata je:',s

end do

do i=1,n

do j=1,mr(j)=a(i,j)

end do

write(9,*)'Red',i,'je:'

do h=1,m

write(9,*)r(h)end do

call proizvod(r,m,p)

write(9,*)'I proizvod njegovih elemenata je:',p

end do

close(9)end

subroutine suma(x,n,s)implicit none

integer i,n

real x(10),s

s=0

do i=1,ns=s+x(i)

end do

end

subroutine proizvod(y,m,p)

implicit none

integer i,mreal y(10),p

p=1do i=1,m

p=p*y(i)

end do

end

12/18

C

#include#include

void suma(float x[10],int n);

void proizvod(float y[10],int n);

float p,s;

main()

{int i,j,n,m;

float a[10][10],k[10],r[10];

FILE *fp;

printf("\n Unesi dimenzije matrice:\n");scanf("\n %d%d",&n,&m);

printf("\n Unesi elemente matrice:\n");

for(i=0;i

13/18

ROK

09.06.2009.

Sa konzole uitati matricu A dimenzijaN x N. Nai proizvod elemenata iznad glavnedijagonale. Napraviti podprograme za nalaenje najmanjeg elementa

jednodimenzionalnog niza. Matricu i sve rezultate ispisati u fajl.

Fortran

program matrica5implicit none

integer i,j,n

real a(10,10),x(10),p,clan

write(*,*)'Unesi dimenziju matrice'

do i=1,n

do j=1,n

end doend do

OPEN(9,file='matrica.dat')

p=1do i=1,n

do j=1,nif (i.lt.j) then

p=p*a(i,j)

end if

end do

end dowrite(9,*)'Nasa matrica je:'

do i=1,n

write(9,*)(a(i,j),j=1,n)

end do

write(9,*)'Proizvod elemenata iznad matrice je:',pcall najveci(a,n,clan)

write(9,*)'Najmanji clan je :',clan

close(9)

end

subroutine najveci(a,n,clan)

implicit none

integer i,j,nreal a(10,10),x(10),clan

clan=a(1,1)

do i=1,n

do j=1,n

if (clan.gt.a(i,j)) thenclan=a(i,j)

end if

end do

end do

end

14/18

C

#include

#include

void najveci(float a[10][10],int n);

float clan;

main()

{int i,j,n;

float a[10][10],p;

FILE *fp;

printf("\n Unesi dimenziju matrice:\n");scanf("\n %d",&n);

printf("\n Unesi elemente matrice:\n");

for(i=0;i

15/18

ROK

26.06.2009.

Sa konzole uitati matricuA dimenzija 3 x 3 . Od kolona matrice formirati tri vektora inai njihov mjeoviti proizvod. Ukoliko je mjeoviti proizvod pozitivan nai AAT, a ako

je negativan nai Tr(A). Napisati podprogram za raunanje mjeovitog proizvoda.

MatricuA i sve rezultate ispisati u fajl.

Fortran

program matrica6

implicit none

integer i,j,k,n;

real a(3,3),x(3),y(3),z(3),trag,mjes,prod(3,3),p1,p2,p3

write(*,*)'Unesi elemente matrice:'

do i=1,n

do j=1,n

end doOPEN(9,file='matrica.dat')

write(9,*)'Nasa matrica je'

do i=1,nwrite(9,*)(a(i,j),j=1,n)

end do

do i=1,n

x(i)=a(i,1)

y(i)=a(i,2)z(i)=a(i,3)

end do

call mjesoviti(x,y,z,mjes)

write(9,*)'Mjesoviti proizvod je:',mjes

if (mjes.gt.0) thendo i=1,n

do j=1,n

prod(i,j)=0

do k=1,nprod(i,j)=prod(i,j)+a(i,k)*a(j,k)

end do

end do

end do

write(9,*)'Proizvod matrice i tr.matrice je:'do i=1,n

write(9,*)(prod(i,j),j=1,n)

end do

else

if (mjes.lt.0) thentrag=0

do i=1,n

trag=trag+a(i,i)

end do

write(9,*)'Trag matrice je',tragend if

end if

close(9)

end

subroutine mjesoviti(x,y,z,mjes)

implicit none

real x(3),y(3),z(3),mjes,p1,p2,p3

p1=1

p2=1p3=1

p1=x(1)*(y(2)*z(3)-y(3)*z(2))

p2=x(2)*(y(1)*z(3)-y(3)*z(1))

p3=x(3)*(y(1)*z(2)-y(2)*z(1))

mjes=p1-p2-p3end

16/18

C#include

#includevoid mjesoviti(float x[3],float y[3],float z[3]);

float mjes;

main()

{

int i,j,k,n;

float a[3][3],x[3],y[3],z[3],trag,prod[3][3];FILE *fp;

printf("\n Unesi dimenziju matrice:\n");

scanf("\n %d",&n);

printf("\n Unesi elemente matrice:\n");for(i=0;i

17/18

ROK

12.11.2009.

Uitati matricu A dimenzija 3 x 3, a zatim nai elemente jednodimenzionalnog niza datesa Ci=(j=1,2,3)aijbj. Elemnti bj predstavljaju maksimalne vrijednosti svake kolone

matriceA. Napraviti podprogram za nalaenje maksimalnog elementa

jednodimenzionalnog niza. Sve rezultate ispisati u fajl. S najveim lanovima kolonemnoi lanove u odgovarajuem redu!!!

Fortran

program matrica7

implicit none

integer i,j,n

real a(3,3),b(3),c(3),x(3),maxwrite(*,*)'Unesi dimenziju matrice'

write(*,*)'Unesi elemente matrice'

do i=1,n

end doend do

OPEN(9,file='matrica.dat')

write(9,*)'Nasa matrica je:'do i=1,n

write(9,*)(a(i,j),j=1,n)

end do

do j=1,n

do i=1,nb(i)=a(i,j)

end do

call najveci(b,n,max)

x(j)=max

write(9,*)'Njeveci clan kolone',j,'je:',x(j)end do

do i=1,n

c(i)=0

do j=1,nc(i)=c(i)+a(i,j)*x(j)

end do

end do

write(9,*)'Nas niz je:'

do i=1,nwrite(9,*)c(i)

end do

close(9)

end

subroutine najveci(b,n,max)

implicit none

integer i,n

real b(3),maxmax=b(1)

do i=2,n

if (max.lt.b(i))then

max=b(i)

end ifend do

end

18/18

C

#include

#include

void najveci(float b[3],int n);

float max;

main()

{int i,j,n;

float a[3][3],b[3],c[3],x[3];

FILE *fp;

printf("\n Unesi dimenziju matrice;\n");scanf("\n %d",&n);

printf("\n Unesi elemente matrice\n");

for(i=0;i

Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents