Author
sanel-kopic
View
244
Download
0
Embed Size (px)
8/7/2019 Uradjeni rokovi
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 :'
read(*,*)n,mwrite(*,*)'Unesi elemente matrice :'
do i=1,n
do j=1,m
read(*,*)a(i,j)
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)
end dowrite(9,*)'Zadnja kolona je :'
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
write(9,*)'Zadnji red je :'
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
8/7/2019 Uradjeni rokovi
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
8/7/2019 Uradjeni rokovi
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 dimenziju matrice :'read(*,*)n
write(*,*)'Unesi elemente matrice :'
do i=1,n
do j=1,nread(*,*)a(i,j)
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
8/7/2019 Uradjeni rokovi
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
8/7/2019 Uradjeni rokovi
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'
read(*,*)nwrite(*,*)'Unesi elemente niza'
do i=1,n
read(*,*)a(i)
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
8/7/2019 Uradjeni rokovi
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
8/7/2019 Uradjeni rokovi
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:'
read(*,*)n
write(*,*)'Unesi elemente matrice:'
do i=1,ndo j=1,n
read(*,*)a(i,j)
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/7/2019 Uradjeni rokovi
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'
read(*,*)nwrite(*,*)'Unesi elemente niza'
do i=1,n
read(*,*)a(i)
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
8/7/2019 Uradjeni rokovi
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:'
read(*,*)nwrite(*,*)'Unesi elemente matrice A'
do i=1,n
do j=1,n
read(*,*)a(i,j)
end doend do
write(*,*)'Unesi elemente matrice B'do i=1,n
do j=1,n
read(*,*)b(i,j)end do
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
8/7/2019 Uradjeni rokovi
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
8/7/2019 Uradjeni rokovi
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:'
read(*,*)n,mwrite(*,*)'Unesi elemente matrice:'
do i=1,n
do j=1,m
read(*,*)a(i,j)
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
8/7/2019 Uradjeni rokovi
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
8/7/2019 Uradjeni rokovi
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'
read(*,*)nwrite(*,*)'Unesi elemente matrice'
do i=1,n
do j=1,n
read(*,*)a(i,j)
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
8/7/2019 Uradjeni rokovi
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
8/7/2019 Uradjeni rokovi
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 dimenziju matrice:'read(*,*)n
write(*,*)'Unesi elemente matrice:'
do i=1,n
do j=1,n
read(*,*)a(i,j)end do
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
8/7/2019 Uradjeni rokovi
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
8/7/2019 Uradjeni rokovi
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'
read(*,*)n
write(*,*)'Unesi elemente matrice'
do i=1,n
do j=1,nread(*,*)a(i,j)
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
8/7/2019 Uradjeni rokovi
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