You are on page 1of 56

1) Napisati na jeziku C program koji na ekranu ispisuje poruku ,, Pozdrav svete!

“;
#include <stdio.h>
int main()
{
printf("Pozdrav svete!");
return 0;
}
2) Napisati na jeziku C program koji pročita dva cela broja s glavnog ulaza računara, izračuna njihov zbir i
ispiše rezultat na glavnom izlazu računara.

#include <stdio.h>
int main()
{
int a, b, c;
printf("Unesite dva cela broja: ");
scanf("%d%d",&a,&b);
c=a+b;
printf("a + b = %d + %d = %d\n",a,b,c);
return 0;
}
3) Napisati na jeziku C program koji pročita dužinu poluprečinka kruga s glavnog ulaza računara i ispiše
dužinu obima i veličinu površine tog kruga na glavnom izlazu računara. P=r^2*pi, O=2*r*pi;

#include <stdio.h>
#define PI 3.14159265359
int main()
{
double r;
printf("Unesite poluprecnik: ");
scanf("%lf",&r);
printf("O = %.3f\n",2*r*PI);
printf("P=%.3f\n",r*r*PI);
return 0;
}
4) Napisati na jeziku C program za izračunavanje površine trougla u ravni ako su zadate koordinate
temena. Potrebne podatke čitati s glavnog ulaza računara, a rezultat prikazati na glavnom izlazu
računara. (ZADATAK ZA SAMOSTALAN RAD)

#include <stdio.h>
#include <math.h>
int main() {
float ax,ay,bx,by,cx,cy,s,p,a,b,c;
printf("Unesi x koordinatu temena A: ");
scanf("%f", &ax);
printf("Unesi y koordinatu temena A: ");
scanf("%f", &ay);
printf("Unesi x koordinatu temena B: ");
scanf("%f", &bx);
printf("Unesi y koordinatu temena B: ");
scanf("%f", &by);
printf("Unesi x koordinatu temena C: ");
scanf("%f", &cx);
printf("Unesi y koordinatu temena C: ");
scanf("%f", &cy);
/*stranice*/
a=sqrt((bx-cx)*(bx-cx)+(by-cy)*(by-cy));
b=sqrt((cx-ax)*(cx-ax)+(cy-ay)*(cy-ay));
c=sqrt((ax-bx)*(ax-bx)+(ay-by)*(ay-by));
/*povrsina*/
s=(a+b+c)/2;
p=sqrt(s*(s-a)*(s-b)*(s-c));
/*ispis*/
printf("Povrsina trougla je:%.2f\n ", p);
return 0;
}
5) Vreme se zadaje pomoću broja godine, meseca, dana, sata I minuta. Napisati na C jeziku program za
pakovanje I obrnuti process raspakivanje podataka o vremenu u jednu 32-bitnu celobrojnu promenljivu.
Potrebne podatke čitati sa glavnog ulaza računara, a rezultate prikazati na glavnom izlazu računara.

#include <stdio.h>
int main()
{
unsigned short godina, mesec, dan, sat, minut;
unsigned long vreme; /*32 bitna celobronjna promenljiva*/
printf("Unesite dan, mesec, godinu: ");
scanf("%hd%hd%hd", &dan,&mesec,&godina);
printf("Unesite sat i minut: ");
scanf("%hd%hd", &sat,&minut);
vreme=((unsigned long)godina)<<20 |
((unsigned long)mesec)<<16 |
dan << 11 |
sat <<6 |
minut;
printf("Pakovano: %lu (%lx)\n", vreme, vreme);
godina=vreme >>20;
mesec= vreme>>16 & 0x0f;
dan=vreme>>11 & 0x1f;
sat=vreme >> 6 & 0x1f;
minut=vreme & 0x3f;
printf("Raspakovano: %hd.%hd.%hd. %hd:%hd\n", &dan,&mesec,&godina,&sat,&minut);
return 0;
}
6) Napisati program na jeziku C koji traži od korisnika da unese broj dana, a zatim ispisuje koliko je to godina,
nedelja I dana.
#include <stdio.h>
#define PI 3.14159265359
int main()
{
int korisnik_dan, dan, god, ned;
printf("Unesi broj dana: ");
scanf("%d", &korisnik_dan);
god=korisnik_dan /365;
ned=(korisnik_dan%365)/7;
dan=korisnik_dan-((god*365)+(ned*7));
printf("Godina: %d\n", god);
printf("Nedelja: %d\n", ned);
printf("Dana: %d\n", dan);
return 0;
}
7)Napisati program na jeziku C koji pretvara nepravi razlomak u pravi. Obezbediti unos brojioca I imenioca sa
tastature (npr 8/5 daje rezultat 1 3/5)
#include <stdio.h>
int main()
{
int broj, imen, ceo_deo;
printf("Unesi brojilac: ");
scanf("%d", &broj);
printf("Unesi imenilac: ");
scanf("%d", &imen);
printf("Uneli ste: %d%d\n", broj,imen);
ceo_deo=broj/imen;
broj=broj-ceo_deo*imen;
printf("Pravi razlomak: %d %d/%d\n", ceo_deo,broj,imen);
return 0;
}
8)Napisati na jeziku C program za nalaženje najmanjeg od tri cela broja.
#include <stdio.h>
int main()
{
int a,b,c, min;
printf("Unesi tri broja: ");
scanf("%d%d%d", &a,&b,&c);
min=a;
if(b<min)
{
min=b;
}
if(c<min)
{
min=c;
}
printf("Minimum je %d.\n",min);
return 0;
}
9)Napisati na jeziku C program za uređivanje tri realna broja po neopadajućem redosledu.
#include <stdio.h>
int main()
{
double a,b,c,temp;
printf("Unesi tri broja: ");
scanf("%lf%lf%lf", &a,&b,&c);
if(a>b)
{
temp=a;
a=b;
b=temp;
}
if(a>c)
{
temp=a;
a=c;
c=temp;
}
if(b>c)
{
temp=b;
b=c;
c=temp;
}
printf("Uređeno %lf %lf %lf\n",a,b,c);
return 0;
}
10) Napisati program u jeziku C koji u zavisnosti od unetog broja, na glavnom izlazu ispisuje da li je broj
paran ili neparan.
#include <stdio.h>
int main()
{
int broj;
printf("Unesi ceo broj: ");
scanf("%d", &broj);
if(broj%2==0)
{
printf("%d je paran broj.\n", broj);
}
else
{
printf("%d je neparan broj.\n", broj);
}
return 0;
}
11)Napisati program na jeziku C koji za dva uneta broja sa standardnog ulaza prikazuje relaciju između ta
dva broja (<,>,=)
#include<stdio.h>
int main()
{
int br1,br2;
printf("Unesi dva broja: ");
scanf("%d%d",&br1,&br2);
if(br1<br2)
{
printf("%d < %d", br1,br2);
}
else if(br1>br2)
{
printf("%d > %d", br1,br2);
}
else
{
printf("%d = %d", br1,br2);
}
return 0;
}
12)Napisati program na jeziku C za rešavanje sistema od dve linearne jednačine sa dve nepoznate.
#include<stdio.h>
int main()
{
double a1,a2,b1,b2,c1,c2,d,dx,dy,x,y;
printf("Unesi koeficijente prve jednacine: ");
scanf("%lf%lf%lf",&a1,&b1,&c1);
printf("Unesi koeficijente druge jednacine: ");
scanf("%lf%lf%lf",&a2,&b2,&c2);
d=a1*b2-a2*b1;
dx=c1*b2-c2*b1;
dy=a1*c2-a2*c1;
if(d!=0)
{
printf("x=%10.2f\n",dx/d);
printf("y=%10.2f\n",dy/d);
}
else{
if(dx==0 && dy==0)
{
printf("Sistem je neodredjen.\n");
}
else
{
printf("Sistem nema resenja.\n")
}
}
return 0;
}
13)Napisati na jeziku C program za rešavanje kvadratne jednačine.
#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c,d,x1,x2,y1,y2;
typedef enum{
REALNI,DVOSTRUKI,KOMPLEKSNI,
LINEARNA, POGRESNA
}Vrsta;
Vrsta vrsta;
printf("Unesite sve koeficijente jednacine: ");
scanf("%lf%lf%lf",&a,&b,&c);
if (a){
d=b*b-4*a*c;
if(d>0)
{
vrsta=REALNI;
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
}
else if(d==0){
vrsta=DVOSTRUKI;
x1=-b/(2*a);
}
else if (a!=0 && d<0){
vrsta=KOMPLEKSNI;
x1=-b/(2*a);
y1=sqrt(d)/(2*a);
x2=x1;
y2=-y1;
}
else{
if(b)
{
vrsta=LINEARNA;
x1=-c/b;
}
else
{
vrsta=POGRESNA;
}
}
if(vrsta==REALNI){
printf("Realna resenja su %.2f i%.2f\n",x1,x2);
}
else if (vrsta==DVOSTRUKI){
printf("Dvostruko realno resenje je %.2f\n",x1);
}
else if (vrsta==KOMPLEKSNI){
printf("Cplx resenje su (%.2f,%.2f) i(%.2f,%.2f) \n",x1,y1,x2,y2);
}
else if(vrsta== LINEARNA)
{
printf("Resenje linearne jednacine je %.2f\n",x1);
}
else if(vrsta==POGRESNA)
{
printf("Pogresan unos.");
}
return 0;
}
}
14) Napisati na jeziku C program koji utvrđuje da li je godina prestupna. Program treba da traži od
korisnika da unese godinu, a zatim na ekranu prikazuje da je godina prestupna. Unos ponavljati sve dok
se za godinu ne unese vrednost manja ili jednaka nuli. Godina je prestupna ako je deljiva sa 4 i nije
deljiva sa 100 ili ako je deljiva sa 400.
#include <stdio.h>
int main()
{
int god;
printf("Unesite godinu: ");
scanf("%d",&god);
while(god>0){
if(god%4==0 && god%100!=0 || god%400==0)
{
printf("Godina je prestupna\n\n");
}
else{
printf("Godina nije prestupna\n\n");
}
printf("Unesite godinu: ");
scanf("%d",&god);
}
return 0;
}
15) Napisati na jeziku C program za određivanje godišnjeg doba kome datum pripada.Proleće(21.03. -
20.06), leto(21.06.-22.09.), jesen(23.09.-20.12.), zima(21.12.-20.03.). Program treba da čita datume i da
ispisuje rezultate sve dok za jednu od komponenata datuma ne pročita nulu.
#include <stdio.h>
int main()
{
int dan,mes;
printf("Unesite dan i mesec: ");
scanf("%d%d",&dan,&mes);
while(dan!=0 && mes!=0)
{
if(mes==4 || mes==5 || mes==3 && dan>=21 || mes==6 && dan<=20)
{
printf("Datum pada na prolece.\n\n");
}
else if(mes==7 || mes==8 || mes==6 && dan>=21 || mes==9 && dan<=22)
{
printf("Datum pada na leto.\n\n");
}
else if(mes==10 || mes==11 || mes==9 && dan>=23 || mes==12 && dan<=20)
{
printf("Datum pada na jesen.\n\n");
}
else{
printf("Datum pada na zimu.\n\n");
}
printf("Unesite dan i mesec: ");
scanf("%d%d",&dan,&mes);
}
return 0;
}
16)Napisati na jeziku C program za određivanje narednog datuma u odnosu na zadati dan. Program
treba da čita datume sve dok za jednu od komponenata datuma ne pročita nulu.
#include <stdio.h>
int main()
{
int dan,mes,god,d;
while(1) //petlja će se izvršavati beskonačni proj puta
{
printf("Danas: ");
scanf("%d%d%d",&dan,&mes,&god);
if(dan==0 || mes==0 || god==0)
break;
switch(mes){
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
d=31; break;
case 4: case 6: case 9: case 11:
d=30;break;
case 2:
d=28;
if(god %4 ==0 && god%100!=0 || god%400==0)
d++;
}
if(dan<d)
dan++;
else
{
dan=1;
if(mes<12)
mes++;
else{
mes=1;
god++;
}
}
printf("Sutra je %2.2d. %2.2d. %d.\n\n", dan, mes, god);
}
return 0;
}
17) Napisati program na jeziku C za tabeliranje vrednosti izraza y=(x^2-2*x-2)/ x^2+1, za svako
xmin<=x<=xmax sa korakom delta x.
#include <stdio.h>
int main()
{
double xmin, xmax, dx,x,y;
printf("Unesite xmin, xmax i dx: ");
scanf("%lf%lf%lf",&xmin,&xmax,&dx);
printf("\n x y\n========================\n");
for(x=xmin;x<=xmax;x+=dx)
{
y=(x*x-2*x-2)/(x*x+1);
printf("%10.3f%10.3f\n",x,y);
}
return 0;
}
18) Napisati na jeziku C program za izračunavanje vrednosti izraza s=1+2+3+...+n=Σ𝑖𝑛𝑖=1 .
#include <stdio.h>
int main()
{
int n,s=0,i;
printf("Unesi ceo broj: ");
scanf("%d",&n);
for(i=1;i<=n;s+=i++);
printf("s=%d\n",s);
return 0;
}
19) Napisati na jeziku C program za izračunavanje vrednosti izraza s=n!=1*2*3*...*n=Π𝑖𝑛𝑖=1.
#include <stdio.h>
int main()
{
int n,i;
long s=1;
printf("Unesite ceo broj n: ");
scanf("%d",&n);
for(i=1;i<=n;s*=i++);
printf("s=%ld\n",s);
return 0;
}
20) Napisati na jeziku C program za izračunavanje vrednosti izraza s=1!+2!+...+n!=1+1*2+1*2*3+...
+1*2*3*...*n=Σ𝑖!𝑛𝑖=1=ΣΠ𝑗𝑛𝑗=1𝑛𝑖=1.
#include <stdio.h>
int main()
{
int n,i;
long s=0,f=1;
printf("Unesite ceo broj n: ");
scanf("%d",&n);
for(i=1;i<=n;s+=(f*=i++));
printf("s=%ld\n",s);
return 0;
}
21) Napisati na jeziku C program za tabeliranje vrednosti izraza: s=x+x*x+x*x*x+...+x^n=Σ𝑥𝑖𝑛𝑖=1 za svako
xmin<=x<=xmax s korakom delta x.
#include <stdio.h>
int main()
{
int n,i;
double xmin,xmax,dx,x;
printf("Unesite ceo broj n: ");
scanf("%d",&n);
printf("Unesite xmin,xmax,dx");
scanf("%lf%lf%lf",&xmin,&xmax,&dx);
printf("\n x s\n");
printf("====================\n");
for (x=xmin;x<=xmax;x+=dx){
double s=0,p=1;
for(i=1;i<=n;i++)
s+=(p*=x);
printf("%10.3f%10.3f\n",x,s);
}
return 0;
}
22) Napisati na jeziku C program za tabeliranje vrednosti izraza s=x-x*x+x*x*x-...+((-1)^(n-
1))*x^n=Σ(−1)𝑖−1∗𝑥𝑖𝑛𝑖=1 za svako xmin<=x<=xmax sa korakom delta x.
#include <stdio.h>
int main()
{
int n,i;
double xmin,xmax,dx,x;
printf("Unesite ceo broj n: ");
scanf("%d",&n);
printf("Unesite xmin,xmax,dx");
scanf("%lf%lf%lf",&xmin,&xmax,&dx);
printf("\n x s\n");
printf("====================\n");
for (x=xmin;x<=xmax;x+=dx){
double s=0,p=-1;
for(i=1;i<=n;i++)
s+=(p*=-x);
printf("%10.3f%10.3f\n",x,s);
}
return 0;
}
23) Napisati program na jeziku C za izračunavanje aritmetičke sredine i standardne devijacije realnih
brojeva. Program treba da čita i obrađuje nizove i ispisuje dobijene rezultate sve dok za broj elemenata
niza ne pročita nulu iliu negativnu vrednost.
𝑠=1𝑛∗Σ𝑎𝑖𝑛𝑖=1 i 𝑑=√1𝑛∗Σ𝑎𝑖2𝑛𝑖=1−𝑠2.
#include <stdio.h>
#include<math.h>
int main()
{
int n,i;
double xmin,xmax,dx,x;
printf("Unesite broj elemenata niza n: ");
scanf("%d",&n);
while(n>0){
double s=0,d=0;
printf("Elementi niza: ");
for(i=1;i<=n;i++)
{
double a;
scanf("%lf",&a);
s+=a;
d+=a*a;
}
s/=n;
d=sqrt(d/n-s*s);
printf("Srednja vrednost: %.4f\n",s);
printf("Standardna devijacija: %.4f\n",d);
printf("Unesite broj elemenata niza n: ");
scanf("%d",&n);
}
return 0;
}
24) Napisati na jeziku C program koji izračunava s=Σ1𝑖2𝑛𝑖=1 po opadajućem i po rastućem redosledu
sabiraka za proizvoljan broj vrednosti parametra n. Od korisnika tražiti da unosi broj n, a postupak
ponavljati sve dok se ne unese broj manji ili jednak nuli.
#include <stdio.h>
#include<math.h>
int main()
{
while(1){
long n;
int i;
float s1=0, s2=0;
printf("n?");
scanf("%ld",&n);
if(n<=0)
break;
for(i=1;i<=n;i++)
s1+=1./i/i;
for(i=n;i>=1;i--)
s2+=1./i/i;
printf("%ld %10.6f %10.6 f\n",n,s1,s2);
}
return 0;
}
25)Napisati na jeziku C program koji čita decimalne cele brojeve i ispisuje njihovu vrednosti u binarnom
obliku. Pretpostaviti da se za interno predstavljanje celih brojeva koristi po 16 bitova. Program treba da
čita brojeve i da ispisuje rezltate sve dok ne pročita vrednost 9999.
#include <stdio.h>
#include<math.h>
int main()
{
while(1){
short dec,i;
printf("Decimalan broj?");
scanf("%hd",&dec);
if(dec==9999)
break;
printf("Binarni broj: ");
for(i=1;i<=16;i++)
{
short bit=0;
if((dec & 0x8000)!=0)
bit=1;
printf("%d", bit);
if(i%4==0)
printf(" ");
dec<<=1;
}
printf("\n");
}
return 0;
}
26)Napisati program na jeziku C za tabeliranjee vrednosti polinoma koji je zadat nizom koeficijenata za
svako xmin<=x<=xmax sa korakom delta x. p(x)=Σ𝑎𝑖𝑛𝑖=0∗𝑥𝑖
#include <stdio.h>
#include<math.h>
int main()
{
int n,i;
float koeficijenti[200],xmin,xmax,dx,x;
printf("Unesi red polinoma: ");
scanf("%d",&n);
printf("Unesi koeficijente: ");
for(i=n;i>=0;i--)
{
scanf("%f", &koeficijenti[i]);
}
printf("Unesi xmin,xmax,dx: ");
scanf("%f%f%f",&xmin,&xmin,&dx);
printf("\n x ");
printf("p(x)\n===========\n");
for(x=xmin;x<=xmax;x+=dx){
float polinom=0;
for(i=n;i>=0;i--)
polinom+=koeficijenti[i]*pow(x,i);
printf("%10.2f%10.2f\n",x,polinom);
}
return 0;
}
27) Napisati na jeziku C program za izracunavanje srednje vrednosti onih elemenata niza cellih brojeva
koji su deljivi sa tri. Program treba da pročita niz, izvrši traženu obradu, ispiše dobijeni rezultat i ponavlja
prethodne korake sve dok za dužinu niza ne pročita broj manji od 0 ili veći od 100.
#include <stdio.h>
#include<math.h>
int main()
{
while(1){
int a[100],i,k,n;
double s;
printf("Broj elemenata: ");
scanf("%d",&n);
if(n<0 || n>100)
break;
printf("Unesite %d elemenata: ",n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(s=i=k=0;i<n;i++)
{
if(a[i]%3==0)
{
s+=a[i];
k++;
}
}
if(k)//k!=0
s/=k;
printf("s=%f\n",s);
}
return 0;
}
28) Napisati na jeziku C program koji pročita dva vektora zadate dužine s realnim komponentama,
izračuna njihov skalarni proizvod i ispisuje dobijeni rezultat. Prethodne radnje ponavljati sve dok se za
dužinu vektora ne pročita broj manji ili jednak nuli ili veći od 50. S=Σ𝑎𝑖∗𝑏𝑖𝑛−1𝑖=0 .
#include <stdio.h>
#define DIM 50
int main()
{
while(1){
double a[DIM],b[DIM], skal_pro;
int i,n;
printf("Dužina vektora (najviše %d)",DIM);
scanf("%d",&n);
if(n<=0 || n>DIM)
break;
printf("Komponente vektora A: ");
for(i=0;i<n;i++)
{
scanf("%lf",&a[i]);
}
printf("Komponente vektora B: ");
for(i=0;i<n;i++)
{
scanf("%lf",&b[i]);
}
for(skal_pro=i=0;i<n;i++)
{
skal_pro+=a[i]*b[i];
}
printf("Skalarni proizvod A*B=%10.3f\n",skal_pro);
}
return 0;
}
29) Napisati na jeziku C program za nalaženje vrednosti najmanjeg elementa u nizu realnih brojeva.
Program treba da čita I obrađuje nizove sve dok se za dužinu niza ne pročita nedozvoljena vrednost.
#include <stdio.h>
#define NMAX 150
int main()
{
while(1){
double a[NMAX],min;
int i,n;
printf("n?");
scanf("%d",&n);
if(n<=0 || n>NMAX)
{
break;
}
printf("Unesi elemente niza: ");
for(i=0;i<n;i++)
scanf("%lf",&a[i]);
min=a[0];
for(i=1;i<n;i++)
if(a[i]<min)
min=a[i];
printf("Najmanji broj u nizu je %.2f\n\n",min);
}
return 0;
}
30) Napisati na jeziku C program za obrtanje redosleda elemenata zadatog niza realnih brojeva. Program
treba da čita i obrađuje nizove sve dok se ne unese nedozvoljena vrednost.
#include <stdio.h>
#define NMAX 100
int main()
{
while(1){
double a[NMAX];
int i,n,j;
printf("n?");
scanf("%d",&n);
if(n<=0 || n>NMAX)
{
break;
}
printf("Unesi elemente niza: ");
for(i=0;i<n;i++)
scanf("%lf",&a[i]);
for(i=0,j=n-1;i<j;i++,j--)
{
double b=a[i];
a[i]=a[j];
a[j]=b;
}
printf("elementi niza: ");
for(i=0;i<n;printf("%.2f",a[i++]));
}
return 0;
}
31) Napisati na jeziku C program za izostavljanje svih elemenata zadatog niza brojeva koji imaju neku
vrednost. Prethodne korake ponavljati sve dok se za dužinu niza ne pročita nedozvoljena vrednost.
#include <stdio.h>
#define NMAX 100
int main()
{
while(1){
int a[NMAX],k,i,n,j;
printf("n?");
scanf("%d",&n);
if(n<=0 || n>NMAX)
{
break;
}
printf("Unesi elemente niza: ");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
printf("Koji broj treba izostaviti: ");
scanf("%d",&k);
for(i=j=0;i<n;i++)
{
if(a[i]!=k)
a[j++]=a[i];
}
n=j;
printf("Elementi niza: ");
for(i=0;i<n;printf("%d",a[i++]));
printf("\n\n");
}
return 0;
}
32) Napisati program na jeziku C kojim se u uređeni niz brojeva umeće novi broj tako da niz i dalje bude
uređen.
#include <stdio.h>
#define NMAX 100
int main()
{
while(1){
int a[NMAX],k,i,n,j;
printf("n?");
scanf("%d",&n);
if(n<=0 || n>NMAX)
{
break;
}
printf("Unesi elemente niza: ");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
printf("Broj koji treba umetnuti: ");
scanf("%d",&k);
for(i=n-1;i>=0 && a[i]>k;i--)
{
a[i+1]=a[i];
}
a[i+1]=k;
n++;
printf("Elementi niza: ");
for(i=0;i<n;printf("%d",a[i++]));
}
return 0;
}
33) Napisati na jeziku C program za razvrstavanje niza brojeva u dva niza tako da se u jednom nalaze
negativni, a u drugom ostali elementi početnog niza.
#include <stdio.h>
#define NMAX 100
int main()
{
while(1){
int a[NMAX],b[NMAX],c[NMAX],na,i,nb,nc;
printf("n?");
scanf("%d",&na);
if(na<=0 || na>NMAX)
{
break;
}
printf("Unesi elemente niza: ");
for(i=0;i<na;i++)
scanf("%d",&a[i]);
for(i=0;i<na;i++){
if(a[i]<0)
{
b[nb++]=a[i];
}
else
{
b[nc++]=a[i];
}
}
printf("Pozitivni brojevi: ");
for(i=0;i<nc;printf("%d",c[i++]));
printf("Negativni brojevi: ");
for(i=0;i<nb;printf("%d",b[i++]));
printf("\n\n");
}
return 0;
}
34) Napisati na jeziku C program za nalaženje fuzije dva niza celih brojeva koji su uređeni po
neopadajućem redosledu u treći, na isti način uređeni niz.
#include <stdio.h>
#define NMAX 100
int main()
{
while(1){
int a[NMAX],b[NMAX],c[2*NMAX],na,ia,nb,nc,ib,ic;
printf("na?");
scanf("%d",&na);
if(na<=0 || na>NMAX)
{
break;
}
printf("Unesi elemente prvog niza: ");
for(ia=0;ia<na;ia++)
scanf("%d",&a[ia]);
printf("nb?");
scanf("%d",&nb);
if(nb<=0 || nb>NMAX)
{
break;
}
printf("Unesi elemente drugog niza: ");
for(ib=0;ib<nb;ib++)
scanf("%d",&b[ib]);
for(ia=ib=ic=0;ia<na && ib<nb;ic++){
if(a[ia]<b[ib])
c[ic]=a[ia++];
else
c[ic]=b[ib++];
}
while(ia<na)
{
c[ic++]=a[ia++];
}
while(ib<nb)
{
c[ic++]=b[ib++];
}
nc=ic;
for(ic=0;ic<nc;printf("%d",c[ic++]));
}
return 0;
}
35) Napisati program na jeziku C za uređivanje niza celih brojeva po neopadajućem redosledu metodom
izbora. Program treba da pročita dužinu niza, popuni niz slučajnim jednocifrenim celim brojevima, ispiše
dobijeni niz, uredi niz, ispiše dobijeni rezultat i ponavlja sve prethodne korake sve dok se za dužinu niza
ne pročita nedozvoljena vrednost.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define NMAX 500
int main()
{
srand(time(NULL));//da se ne ponavljaju isti br
while(1){
int n,a[NMAX],b,i,j;
printf("\nUnesi broj elemenata niza: ");
scanf("%d",&n);
if(n<=0 || n>NMAX)
break;
printf("\nPocetni niz: ");
for(i=0;i<n;i++)
printf("%d",a[i]=rand()/(RAND_MAX+1.)*10);
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]>a[j])
{
b=a[i];
a[i]=a[j];
a[j]=b;
}
}
}
printf("\nUredjeni niz: ");
for(i=0;i<n;printf("%d",a[i++]));
}
return 0;
}

1 ) Napisati na jeziku C program za nalazenje transponovane kvadratne matrice. Program


treba da obradjuje proizvoljan broj matrica. Transponovana matrica je matrica kod koje su
vrste i kolone zamenile mesta.
#include <stdio.h>
#define N 20
int main() {
double a[N][N] ;
int i, j ,n ;
while (1) {
printf(“ Dimenzije matrice?”) ;
scanf_s (“%d”, &n) ;
if (n <0 | | n > N)
break;
/* unos elementa matice* /
for ( i=0; i<n ; i++) {
printf( “%2d. vrsta?” , i+1) ;
for ( j=0 ; j<n; scanf_s ( “%lf”, &a[i] [j++])) ;
}
/*transponovanje matrice*/
for ( i=0 ; i<n-1 ; i++)
for( j=i+1; j<n , j++) {
double b = a [i][j] ;
a [i] [j] = a[j] [i];
a [j] [i] = b;
}
/* ispisivanje matrce*/
for (i=0; i<n; i++) {
for (j=0 ; j<n; j++)
printf (“%8.2 lf”, a[i] [j] )) ;
print( “\n”);
}
}
return 0 ;
}2
2 ) Napisati na jeziku C program za uredjivanje kolona pravougaone matrice s realnim
elementima po neopadajucem redosledu zbirova elemenata po kolonama.
#include <stdio.h>
#define N 30
int main() {
double a[N] [N], s [N], p ;
int i, j, m ,n, min ;
while (1) {
printf ( “\n m, n?” ) ;
scanf_s(“ %d %d ”, &m, &n) ;
if (m < = 0 | | m > N | | n<=0 | | n > N )
break ;
/* unos elementa matrice*/
for ( i=0; i<m ; i++ ) {
printf ( “%2d. vrsta?”, i+1 ) ;
for ( j=0; j < n ; scanf ( “%lf ”, &a [ i ] [j++] ) ) ;
}
/* racunanje zbirova elemenata po kolonama * /
for ( j=0; j< n ; j++)
for ( s[ j ] = i = 0 ; i < m ; s[ j ] += a [ i++ ] [ j ] ) ;
/* uredjivanje kolona po velicinama zbirova * /
for ( i= 0 ; i < n -1 ; i++ ) {
for ( min = i , j = i + 1 ; j < n ; j++)
if ( s[ j ] < s[ min ] )
min = j ;
if (min != i ) {
p = s[ i ] ;
s [i] = s [min];
s [min] = p;
for ( j = 0; j < m ; j++ ) {
p=a[j][i];
a [ j ] [ i ] = a [ j ] [min];
a [ j ] [min] = p ;
}
}
}3
printf( “ Uredjena matrica: \n ”);
/*ispisivanje matrice*/
for ( i=0 ; i <m ; i++) {
for ( j=0 ; j<n ; printf ( “%8.2lf” , a[ i ] [ j++ ] )) ;
printf(“ \n” ) ;
}
for ( j= 0; j < n ; j++)
printf( “---------------“);
printf (“ \ n” ) ;
for ( j=0 ; j<n ; printf (“%8.2f”, s [ j++ ] )) ;
printf (“\n”)
}
return 0 ;
}
3 ) Napisati program na jeziku C za ispisivanje ACSII tabele za sve stampajuce znakove.
#include <stdio.h>
int main () {
char c, i ;
for ( c= ‘ ‘ ; c < ‘ ‘ + 19 ; c++) {
for ( i =0 ; i < 95 ; i+= 19)
printf( “%3d %c “ , c + i , c + i) ;
printf ( “\n”);
}
return 0;
}4
VEZBA 10
1 ) Napisati program na programskom jeziku C koji na standardnom izlazu iscrtava kvadrat
zadate stranice. Iscrtavanje sprovesti sa i bez popunjavanja sredisnjeg dela.
Za iscrtavanje koristiti karakter ‘ * ‘.
Postupak ponavljati, sve dok korisnik ne unese duzinu izvan intervala [ 1, 50].
#include <stdio.h>
#define MAX 50
int main () {
int i, j, a ;
while (1) {
printf( “stranica a ? ” ) ;
scanf_s( “%d”, &a) ;
if (a < 1 | | a > MAX ) break ;
for ( i = 0 ; i < a ; i++) {
for ( j= 0 ; j < a ; j++)
printf ( “* “) ;
printf(“\n”);
}
printf(“\n”);
for ( i = 0 ; i < a ; i++) {
for ( j =0 ; j < a ; j++)
if ( i == 0 | | i == a-1 | | j == 0 || j == a-1 )
printf (“* ”);
else
printf( “ ”);
printf(“\n”);
}
}
}5
2 ) Napisati program na programskom jeziku C koji na standardnom izlazu iscrtava
jednakokraki pravilni trougao zadate katete . Iscrtavanje sprovesti sa i bez popunjavanja
sredisnjeg dela. Za iscrtavanje koristiti karakter ‘ * ‘. Postupak ponavljati, sve dok korisnik ne
unese duzinu katete izvan interval [ 1, 50].
#include <stdio.h>
#define MAX 50
int main () {
int i, j, a ;
while (1) {
printf(“ kateta a ?”) ;
scanf_s(“ %d”, &a);
if ( a < = 0 | | a > = MAX) break;
for ( i= 0 ; i < a; i++) {
for ( j = 0 ; j < a-i ; j++)
printf(“* ”);
printf(“\n”);
printf(“\n”);
for (i = 0; i < a ; i++ ) {
for (j = 0; j < a -i; j++)
if ( i == 0 | | j == 0 | | j == a – i – 1 )
printf(“* ”) ;
else
printf( “ ”);
printf(“\n”);
}
}
}6
VEZBA 11
1 ) Napisati program na jeziku C za nalazenje vrednosti najmanjeg elementa u nizu celih brojeva.
Za pristup elementima niza koristiti pokazivace.
Program treba da cita i obradjuje nizove sve dok za duzinu niza ne procita nedozvoljenu vrednost.
#include < stdio.h>
#define MAX 80
int main() {
int a [MAX], n, min, *p;
while (1) {
printf ( “Broj elemenata: ?”);
scanf_s(“%d”, &n);
if ( n <= 0 | | n > MAX)
break;
printf(“Unesite elemente niza : ”);
for ( p =a , p < a+n ; scanf_s(“%d”, p++));
min = *a;
for ( p = a + 1 ; p < a +n; p++)
if (*p < min)
min = *p;
printf(“min = %d \n \n ”, min );
}
return 0;
}7
2) Napisati program na jeziku C za obrtanje redosleda elementa zadatog niza celih brojeva. Za
pristup elementima niza koristiti pokazivace. Program treba da cita i obradjuje nizove sve dok za
duzinu niza ne procita nedozvoljenu vrednost.
#include < stdio.h>
#define MAX 80
int main() {
int a [MAX], n, *p, *q;
while (1) {
printf ( “Broj elemenata: ?”);
scanf_s(“%d”, &n);
if ( n <= 0 | | n > MAX)
break;
printf(“Unesite elemente niza : ”);
for ( p =a , p < a+n ; scanf_s(“%d”, p++));
for (p = a, q= a+n-1 ; p< q ; p++, q--) {
*p = *p + *q ;
*q = *p - *q ;
*p = *p - *q;
}
printf(“Nov niz: ”);
for (p = a; p < a + n ; printf (“%d”, *p++) ) ;
printf(“\n \n ”) ;
}
return 0 ;
}8
3) Napisati program na jeziku C za uredjivanje niza brojeva po neopadajucem redosledu
primenom algoritma insertion sort.
Program treba da procita duzinu niza, popuni niz slucajnim jednocifrenim brojevima, ispise
dobijeni niz, uredi niz, ispise dobijeni rezultat i ponavlja prethodne korake sve dok za duzinu niz
ne procita nedozvoljenu vrednost.
Niz smestiti u dinamicku zonu memorije.
#include <stdio.h>
#include <stdlib.h>
int main( ) {
int n, *a, b, i, j ;
srand (time ( NULL )) ;
while (1) {
printf( “Duzina niza? ”) ;
scanf_s ( “%d”, &n) ;
if ( n<=0)
break;
a=malloc ( n* sizeof(int)) ; /*stvaranje niza*/
printf(“\n Pocetni niz : \n \n”) ;
for (i = 0; i < n; i++) {
printf(“%d”, a[ i ]= rand () / (RAND_MAX+1. ) * 10 );
if ( i % 30 == 29 | | i == n - 1 )
printf(“\n”);
}
for ( i = 1 ; i < n ; i ++ ) {
b= a [ i ] ;
for (j = i - 1 ; j >= 0 && a [ j ] > b ; j - - )
a [ j + 1 ] = a [ j ];
a[ j + 1 ] = b;
}
printf(“Uredjeni niz: \n”) ;
for ( i = 0; i < n; i++) {
printf(“%d”, a[i]);
if (i % 30 ==29 | | i ==n – 1)
printf(“\n”);
}
printf(“\n\n”);
free(a) ; /* unistavanje niza*/
}
return 0 ;
}9
4) Napisati program na jeziku C za nalazenje unije, preseka i razlike dva skupa realnih brojeva.
Skupove smestiti u dinamicku zonu memorije. Program treba da obradjuje proizvoljan broj
parova skupova.
#include <stdio.h>
#include <stdlib.h>
int main( ) {
float *s1, *s2, *s3 ;
int n1, n2, n3, i, j ;
while (1) {
printf(“ \n Broj elemenata prvog skupa?”) ;
scanf_s(“%d”, &n1);
if ( n1 < = 0)
break ;
s1= malloc ( n1 * sizeof( float)) ;
printf( “Elementi prvog skupa? “) ;
for (i = 0; i < n1; scanf_s (“%f”, & s1[i++]));
printf(“ \n Broj elemenata drugog skupa?”) ;
scanf_s(“%d”, &n2);
printf( “Elementi drugog skupa? “) ;
for (i = 0; i < n1; scanf_s (“%f ”, & s2 [i++] ));
/*unija dva skupa*/
s3= malloc (( n1+ n2) * sizeof(float));
for (n3=0; n3 < n1; n3++ )
s3[n3] = s1 [n3] ;
for ( j= 0; j < n2; j++) {
for ( i=0 ; i < n1 && s1 [i] ! =s2 [j] ; i++) ;
if ( i == n1)
s3 [ n3++] = s2 [j];
}
s3 = realloc ( s3,n3 * sizeof(float)) ;
printf(“s1+s2= ”);
for (i=0 ; i< n3; printf ( “ %.2f ”, s3[ i++]));
printf(“\n”);
free(s3); 10
/*presek dva skupa*/
s3 = malloc (( n1 < n2 ? n1 : n2) * sizeof(float)) ;
for (n3= i = 0 ; i < n1 ; i ++ ) {
for (j = 0 ; j < n2 && s1[i] != s2 [ j] ; j ++ ) ;
if (j < n2)
s3 [ n3++] = s1 [ i ];
}
s3= realloc(s3, n3 * sizeof (float));
printf(“s1*s2= ”);
for ( i = 0; i < n3 ; printf(“ %.2f ”, s3 [i++] ));
printf(“\n”);
/*razlika dva skupa*/
s3=malloc (n1* sizeof(float));
for (n3= i = 0 ; i < n1; i++) {
for (j= 0; j < n2 && s1[i] != s2[j]; j++);
if ( j == n2)
s3[n3++] = s1 [i];
}
s3= realloc (s3, n3 * sizeof (float));
printf (“s1 – s2 = ”);
for (i= 0 ; i < n3 ; printf (“%.2f”, s3 [i++] ));
printf (“\n”);
free(s3); free (s1); free(s2);
}
} 11
VEZBA 12
1 ) Napisati program na programskom jeziku C za ucitavanje imena gradova uz njihovo
uredjivanje po abecednom redosledu i ispisivanje rezultata.
U svakom redu se ucitava po jedno ime sve dok se ne ucita prazan red.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAX_GRAD 5
#define MAX_DUZ 30
int main () {
char znak, adrese [MAX_GRAD] [MAX_DUZ],
adresa [MAX_DUZ];
int br_grad = 0 , duz, i ;
do {
for (duz = 0 ; duz < MAX_DUZ – 1 ; duz ++) {
if ((znak = getchar()) != “\n”)
adresa [duz] = znak ;
else {
adresa [ duz ] = ‘\0’ ;
break ;
}
}
if ( strlen (adresa) == 0 )
break ;
for ( i = br_grad – 1; i > =0; i --)
if ( strcmp (adrese [i], adresa) > 0 )
strcpy_s (adrese [ i + 1 ], MAX_DUZ, adrese [ i ] ) ;
else
break;
strcpy ( adrese [ i + 1 ] , MAX _ DUZ, adresa) ;
} while (++br_grad < MAX_GRAD) ;
for (i=0; i < br_grad; i ++)
printf(“%s \n”, adrese[i] ) ;
} 12
2 ) Napisati program na programskom jeziku C koji ucitava dva znakovna niza, izvrsi
nadovezivanje drugog na prvi, okrene “naopako” dobijeni niz i ispise ga na standardnom
izlazu.
#include <stdio.h>
#include <string.h>
int main () {
int n;
char c, *d, *p, *prvi , *drugi ; printf (“Maksimalna duzina : ”);
scanf_s(“%d”, &n) ; getchar() ;
p = calloc ( 2 * n + 1 ,sizeof (char));
d = calloc (n + 1, sizeof(char));
if ((NULL == d ) | | (NULL == p ))
printf(“Nije moguca alokacija! \n”);
else {
prvi = p ;
drugi = d;
while (( *p = getchar()) != ’\n’)
p++;
*p = ‘\0’ ;
while ((*d = getchar()) != ‘\n’)
d++ ;
*d= ‘\0’ ;
p = prvi ;
d = drugi ;
/* konkatenacija */
while (*p)
p++ ;
while ( *p++ = *d ++);
/*okretanje*/
p = prvi ;
for (d = p + (strlen (p) – 1 ) ; p < d ; p ++, d -- )
c = *p, *p = *d, *d = c ;
printf(“%s \n”, prvi);
free (prvi) ; free (drugi) ;
}
} 13
3) Napisati program na programskom jeziku C za ucitavanje imena gradova uz njihovo
uredjivanje po abecednom redosledu i ispisivanje rezultata.
U svakom redu se ucitava po jedno ime sve dok se ne ucita prazan red.
Koristiti dinamicku alokaciju memorije.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAX_GRAD 100
#define MAX_DUZ 30
int main () {
char *adrese [ MAX_GRAD], *adresa;
int znak, br_grad = 0 , duz , i ;
do {
adresa = calloc ( MAX_DUZ, sizeof (char) );
for (duz = 0; duz < MAX_DUZ – 1 ; duz ++ )
if (( znak = getchar () ) != ‘\n’ )
*(adresa + duz ) = znak ;
else
break;
*(adresa + duz ) = ‘ \0 ’ ;
if ( !duz) {
free(adresa) ; break ;
}
adresa = realloc (adresa , duz + 1 ) ;
for ( i = br_grad – 1; i > =0 ; i --)
if (strcmp (adrese [ i ] , adresa ) > 0)
adrese [ i + 1] = adrese [ i ] ;
else
break;
adrese [ i + 1] = adresa ;
} while (br_grad ++ < MAX_GRAD ) ;
for (i = 0; i < br_grad ; i ++ ) {
printf( “%s \n”, adrese [ i ] ) ;
free (adrese [ i ] ) ;
}
} 14
VEZBA 13
1) Napisati funkciju na programskom jeziku C, koja proverava da li je neki prirodan broj
prost. Broj je prost ako je deljiv samo sa jedinicom i sa samim sobom. Jedan nije prost broj.

Napisati glavni program koji ispituje funkciju za proizvoljan broj koraka.


#include<stdio.h>
int prost (unsigned int br) {
unsigned k;
if ( br == 1) return 0;
if ( br == 2) return 1;
// bolje je for( k = 2; k*k <p; k++) ;
for ( k =2; k <br; k++)
if ( br % k == 0) return 0 ;
return 1 ;
}
void main () {
unsigned broj;
while (1) {
printf(“broj? ”); scanf_s (“%d”, &broj);
if (broj > 100000 ) break ;
printf ( “ Broj %s prost. \n\n”,
prost(broj) ? “je” : “ nije” ) ;
}
} 15
2) Napisati funkcije na programskom jeziku C za nalaženje najvećeg zajedničkog delioca i
najmanjeg zajedničkog sadržioca dva prirodna broja (NZS(a, b) = a*b / NZD(a,b)) Napisati
glavni program za ispitivanje tih funkcija za proizvoljan broj parova podataka.
#include <stdio.h>
unsigned nzd (unsigned a, unsigned b) {
if (b == 0) {
return a;
}
return nzd(b, a % b);
}
unsigned nzs(unsigned a, unsigned b) {
return a * b/ nzd(a, b);
}
void main() {
int br1, br2;
while (1) {
printf("Unesite dva broja: ");
scanf("%d%d", &br1, &br2);
if (br1 <= 0 || br2 <= 0) break;
printf("NZD(%d, %d) = %d\n", br1, br2,
nzd (br1, br2));
printf("NZS(%d, %d) = %d\n\n", br1, br2,
nzs(br1, br2));
}
} 16
3) Napisati program na jeziku S za rad sa nizovima. Program treba da sadrži:

-Funkciju koja generiše slučajne brojeve. Argumenti funkcije su niz celih brojeva i broj
elemenata niza. -Funkciju za sortiranje niza u neopadajuhem poretku. Argumenti funkcije su
niz celih brojeva i broje elemenata niza. -Funkciju za sortiranje niza u nerastućem poretku.
Argumenti funkcije su niz celih brojeva i broje elemenata niza. -Funkciju za ispisivanje niza na
standardnom izlazu. Argumenti funkcije su niz celih brojeva i broj elemenata niza.
-Funkciju koja vraća vrednost najmanjeg elementa u nizu. Argumenti funkcije su niz celih
brojeva i broj elemenata niza. -Funkciju koja vraća vrednost najvećeg elementa u nizu.
Argumenti funkcije su niz celih brojeva i broj elemenata niza. -Funkciju koja vraća sumu svih
elemenata niza. Argumenti funkcije su niz celih brojeva i broj elemenata niza. -Funkciju koja
vraća srednju vrednost elemenata niza. Argumenti funkcije su niz celih brojeva i broj
elemenata niza.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAX 50
void generisi(int niz[], int br_elem) {
for (int i = 0;
i < br_elem;
niz[i++]= ((double)rand () / RAND_MAX) * MAX * 5
);
}
void sortiraj_neopadajuce(int *niz, int br_elem) {
int tmp;
for (int i = 0; i < br_elem - 1; i++)
for (int j = 0; j < br_elem; j++)
if (niz[i] > niz[j]) {
tmp = niz[i];
niz[i] = niz[j];
niz[j] = tmp;
}
} 17
void sortiraj_nerastuce(int *niz, int br_elem) {
int tmp;
for (int i = 0 ; i < br_elem - 1; i++)
for (int j = i + 1 ; j < br_elem; j++)
if (niz[i] < niz[j]) {
tmp = niz[i];
niz[i] = niz[j];
niz[j] = tmp;
}
}
int minimum(int* niz, int br_elem) {
int min = niz[0];
for (int i =1; i < br_elem; i++)
if (niz[i] < min)
min = niz[i];
return min;
}
int maksimum (int* niz, int br_elem) {
int max = niz[0];
for (int i =1; i < br_elem; i++)
if (niz[i] > max)
max = niz[i];
return max;
}
void ispisi (int *niz, int br_elem) {
for (int i = 0 ; i < br_elem; i++)
printf(“niz [%d] = %d \n”, i , niz [i ] ) ;
}
int sum(int *niz, int br_elem) {
int sum = 0;
for (int i = 0; i < br_elem; sum += niz[i++]);
return sum;
}
double avg ( int * niz , int br_elem) {
return sum ( niz, br_elem) / (double)br_elem;
} 18
void main() {
int niz[MAX], br_elem;
srand (time(NULL));
br_elem = ((double)rand()/ RAND_MAX) + MAX;
generisi(niz, br_elem);
printf(""); ispisi(niz, br_elem);
sortiraj_neopadajuce(niz, br_elem);
ispisi(niz, br_elem);
sortiraj_nerastuce(niz, br_elem);
printf("Minimum: %d\n", minimum (niz, br_elem));
printf("Maksimum: %d\n", maksimum(niz, br_elem));
printf("Suma : %d\n", sum(niz, br_elem));
printf("Srednja vrednost: %.1lf\n", avg(niz, br_elem));
} 19
4) Napisati program na jeziku C koji računa površinu koja nastaje u preseku funkcija f(x)=x* i
g(x)-o na intervalu [o, 1] i rezultat ispisuje na standardnom izlazu. -Najpre uneti broj gađanja.
-Uvesti broj pogodaka i postaviti na 0. -Za svako gađanje ponaosob (ciklus), koristeći generator
pseudo-slučajnih brojeva, izračunati vrednost za h i za u. -Proveriti da li je d(x) <u < f(x) -Ako
jeste, uvećati broj pogodaka (uslovni preskok).
-Kada se ciklus završi, izračunati n pogod/ n To ce dobija iz proporcije- P je površina kvadrata
stranice 1 pa je krajnji rezultat
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
#define MAX 10000
double f(double x) {
return pow(x, 2);
}
double g(double x) {
return 0;
}
void main() {
int i, j, n_pog =0;
double x, y;
srand (time(NULL));
for (i = 0; i < MAX; i++) {
x=(double)rand() / RAND_MAX;
y = (double)rand() / RAND_MAX;
if (f(x) > y)
n_pog++;
}
printf("P = %.5f", (double)n_pog / MAX);
}
5) Napisati program na jeziku C koja računa približnu vrednost površine koja nastaje u
preseku funkcija f(x)=x i g(x)=x3 na intervalu [o, 1] i rezultat ispisuje na standardnom izlazu.
Napisati funkcije na programskom jeziku C za pronalazenje f(x) i g(x).
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
#define NUKUPNO 10000000
double f(double x) {
return pow(x, 3);
}
double g(double x) {
return x;
}
void main() {
int i, n_pogodaka = 0 ;
double x, y;
srand(time(NULL));
for (i = 0; i < NUKUPNO; i++) {
x = (double)rand() / RAND_MAX;
y = (double)rand() / RAND_MAX;
if (f(x) <= y && g(x) >= y)
n_pogodaka++;
}
printf("P = %.5f\n", (double)n_pogodaka / NUKUPNO);

You might also like