You are on page 1of 14

Kragujevac, školaska 2018/19

OSNOVI PROGRAMIRANJA
VEŽBE 7

Marina Svičević, Đorđe Nedić, Mladen Marić,


Danica Prodanović, Jovan Janićijević
FUNKCIJE

• Definisati funkciju Max koja izračunava maksimum za dva


broja. Napisati program koji, koristeći funkciju Max, određuje
maksimum tri uneta broja.

Institut za matematiku i informatiku | 2018 | KG


FUNKCIJE

M a x ( x ,y ) #include <stdio.h>
int Max(int x, int y)
ne {
x > y
int max;
da if (x>y) max=x;
M ax = x M ax = y else max=y;
return max;
}
p o v r a ta k

main()
{
p o c e ta k int a,b,c,m;

a ,b ,c scanf("%d%d%d",&a,&b,&c);
m=Max(a,b);
m = M a x ( a ,b ) m=Max(m,c);

m = M a x (m ,c ) printf("%d\n",m);

m }

k ra j

Institut za matematiku i informatiku | 2018 | KG


FUNKCIJE

• Definisati funkciju Fakt koja izračunava faktorijel datog


prirodnog broja. Napisati program koji, koristeći funkciju
Fakt, izračunava vrednost binomnog koeficijenta za uneto n
i k.

Institut za matematiku i informatiku | 2018 | KG


FUNKCIJE

#include <stdio.h>
F a k t(n ) long Fakt(int n)
{
f = 1
long f; int i;
i = 1 ,n
f=1;

f = f · i for(i=1; i<=n; i++)


f *=i;
Fakt = f
return f;
p o v r a ta k
}
main()
{
p o c e ta k int n,k;
long bin;
n ,k
scanf("%d%d",&n,&k);
b in = F a k t( n ) /( F a k t( k ) · F a k t( n – k ) ) bin = Fakt(n) / (Fakt(k) * Fakt(n-k));
printf("%ld\n",bin);
b in

}
k ra j

Institut za matematiku i informatiku | 2018 | KG


FUNKCIJE

• Definisati funkciju BrojDel koja za dati broj određuje broj


delilaca. Napisati program koji, koristeći funkciju BrojDel za
uneti broj ispisuje da li je broj prost ili ne.

Institut za matematiku i informatiku | 2018 | KG


FUNKCIJE
B r o jD e l( n )

b = 0
#include <stdio.h>
int BrojDel(int n)
i = 1 ,n {
int i, b;
n m od i = 0 b=0;
da
b = b + 1 for(i=1; i<=n; i++)
if(n%i == 0) b++;

B r o jD e l = b return b;
}
p o v r a ta k main()
{
int n;
p o c e ta k

scanf("%d",&n);
n if(BrojDel(n)<=2) printf("Broj je prost\n");
else printf("Broj je slozen\n");
ne
B r o jD e l( n ) < = 2

da }
P ro s t S lo z e n

k ra j

Institut za matematiku i informatiku | 2018 | KG


FUNKCIJE

• Definisati funkciju F koja je zadata na sledeći način:


F ( x , y , z )  m a x  x , y   m in  y , z 

Napisati program koji, koristeći funkciju F, za unete brojeve


a, b, c računa

d  m a x  a  b , a c   m in  a c , b 

Institut za matematiku i informatiku | 2018 | KG


FUNKCIJE
M a x ( x ,y ) #include <stdio.h>
ne int Max(int x, int y)
x > y
da
{
M ax = x M ax = y int max;
if (x>y) max=x;
p o v r a ta k else max=y;
return max;
M in ( x ,y ) }
ne
int Min(int x, int y)
x < y
{
da
M in = x M in = y
int min;
if (x<y) min=x;
p o v r a ta k else min=y;
return min;
F ( x ,y ,z )
}
int F(int x, int y, int z)
F = M a x ( x ,y ) · M in ( y , z ) {
return Max(x,y)*Min(y,z);
p o v r a ta k
}
main()
p o c e ta k {
int a,b,c,d;
a , b ,c
scanf("%d%d%d",&a,&b,&c);
d = F ( a + b ,a · c ,b ) d=F(a+b,a*c,b);
printf("%d\n",d);
d
}
k ra j
Institut za matematiku i informatiku | 2018 | KG
FUNKCIJE

• Definisati funkciju Proizv koja za m unetih celih brojeva


izračunava prizvod savršenih među njima (broj je savršen
ako je jednak sumi svojih delitelja ne uključujući njega
samog, npr. 28=1+2+4+7+14).

Institut za matematiku i informatiku | 2018 | KG


S a v rs e n (n ) FUNKCIJE
s = 0 #include <stdio.h>
j = 1 ,n- 1 int Savrsen(int n)
ne {
n m od i =0
int i,s;
s = s+i s=0;
ne
for(i=1; i<n; i++)
n =s
if (n % i==0) s +=i;
S a v r s e n = tr u e S a v r s e n = fa ls e
if (n==s) return 1;
else return 0;
p o v r a ta k
}
int Proizv(int m)
P r o iz v (m ) {
p = 1 int i, p, x;
p=1;
i = 1 ,m
for(i=1; i<=m; i++)
x
ne
{
S a v rs e n (x ) scanf("%d", &x);
p = p* x if (Savrsen(x)) p *=x;
}
P r o iz v = p return p;
p o v r a ta k }
main()
p o c e ta k {
m
int m;
scanf("%d",&m);
P r o iz v ( m ) printf("%d\n",Proizv(m));
k ra j }
Institut za matematiku i informatiku | 2018 | KG
FUNKCIJE

• Napisati program koji će izračunati sume ∑ i=1..5 i2 i ∑ i=1..23 i2 i


obe sume ispisati u zasebnim linijama.

Institut za matematiku i informatiku | 2018 | KG


FUNKCIJE

#include <stdio.h>
void Zbir_Kvad(int n)
{
int i; long zbir=0;

for(i=1; i<=n; i++)


zbir +=(long) i*i;

printf("Zbir kvadrata brojeva od 1 do %d je %ld\n",n,zbir);


}
main()
{
Zbir_Kvad(5);
Zbir_Kvad(23);
}

Institut za matematiku i informatiku | 2018 | KG


ZA DOMAĆI

• Napisati program koji će izračunati i ispisati na standardni


izlaz sume: ∑ i=1..5 i2, ∑ i=1..5 i3, ∑ i=1..10 i4.

Institut za matematiku i informatiku | 2018 | KG

You might also like