23
#include<stdio.h> #include<stdlib.h> #include<math.h> main() { int n,niz[100],i,suma=0,min,max,k; double minraz; float as; printf("Unesi broj:"); scanf("%d",&n); for(i=0;i<n;i++) { printf("Unesi %d.broj",i+1); scanf("%d",&niz[i]); } for(i=0;i<n;i++) suma+=niz[i]; printf("\n\nSuma %d",suma); as=(float)suma/n; printf("\n\nAS: %5.2f ",as); min=niz[0]; for(i=1;i<n;i++) if(min>niz[i]) min=niz[i]; printf("\nMinimalan element je %d",min); max=niz[0]; for(i=1;i<n;i++) if(max<niz[i]) max=niz[i]; printf("\nMaksimalan element je %d",max); minraz=fabs(niz[0]-as); k=niz[0]; for(i=0;i<n;i++) { if(minraz>fabs(niz[i]-as)) // da li je razlika trenutnog broja i as manja od min razlike { minraz=fabs(niz[i]-as); // min razlika postaje ta razlika. k=niz[i]; //k je broj za koji ima tu min razliku. } } /* minraz=fabs(niz[0]-as); for(i=0;i<n;i++) if(minraz>fabs(niz[i]-as)) minraz=fabs(niz[i]-as);

Vjeciti Student - Osnovi Programiranja

Embed Size (px)

DESCRIPTION

aaa

Citation preview

Page 1: Vjeciti Student - Osnovi Programiranja

#include<stdio.h>#include<stdlib.h>#include<math.h>main(){ int n,niz[100],i,suma=0,min,max,k; double minraz; float as; printf("Unesi broj:"); scanf("%d",&n); for(i=0;i<n;i++) { printf("Unesi %d.broj",i+1); scanf("%d",&niz[i]); } for(i=0;i<n;i++) suma+=niz[i]; printf("\n\nSuma %d",suma); as=(float)suma/n; printf("\n\nAS: %5.2f ",as); min=niz[0]; for(i=1;i<n;i++) if(min>niz[i]) min=niz[i]; printf("\nMinimalan element je %d",min); max=niz[0]; for(i=1;i<n;i++) if(max<niz[i]) max=niz[i]; printf("\nMaksimalan element je %d",max); minraz=fabs(niz[0]-as); k=niz[0]; for(i=0;i<n;i++) { if(minraz>fabs(niz[i]-as)) // da li je razlika trenutnog broja i as manja od min razlike { minraz=fabs(niz[i]-as); // min razlika postaje ta razlika. k=niz[i]; //k je broj za koji ima tu min razliku. } } /* minraz=fabs(niz[0]-as); for(i=0;i<n;i++) if(minraz>fabs(niz[i]-as)) minraz=fabs(niz[i]-as); for(i=0;i<n;i++) { if(minraz==fabs(niz[i]-as)) //poredimo koji broj ima bas tu min raz. k=niz[i]; // k je taj br sa min raz. }*/ printf("\n\nNajblizi broj AS je %d",k); system("pause"); }

Page 2: Vjeciti Student - Osnovi Programiranja

// Napisati program koji ispisuje najveci savrsen broj koji je manji od ili //jednak nekom cijelom broju m(m>1000) koji se ucitava sa standardnog ulaza. //Nakon toga ispisati koliko ima cifara taj savrsen broj, te sumu cifara tog savrsenog broja.//Broj x je savrsen ako je jednak zbiru svojih djelilaca. Npr.br 6 je savrsen jer je 6=1+2+3;#include<stdio.h>#include<stdlib.h>main(){ int m,i,suma=0,k=0,cifra,br=0;do { printf("Unesi m:"); scanf("%d",&m); } while(m<=1000); while(k==0) //dok ne pronadjemo savrsen broj ostajemo u while petlji, i m--; { suma=0; for(i=1;i<=m-1;i++) // i je moguci djelilac broja m if(m%i==0)// ako je oststak jednak nuli, i je djelilac suma+=i; // ako jeste sumiramo djelioce. if(m==suma) { printf("Broj je savrsen! %d \n",m); k=1; //da li smo pronasli savrsen broj. } else m--; //ispitujemo za jedan broj manje. } suma=0;//vrsimo sumiranje cifara pa je suma zato nula. for( ; m>0;m/=10) //Nema pocetnog uslova zato sto vec imamo odredjeno m, a m/=10 prelazimo na sledece trazenje cifre; { cifra=m%10; //Izdvaja cifre. br++;//broj pronadjenih cifara suma+=cifra; }// odredjujemo sumu cifara. printf("Cifara ima: %d",br); printf("Suma cifara je: %d",suma); system("pause"); }

//Zadatak sa kolokvijuma 16.05.2013-grupa D#include<stdio.h>#include<stdlib.h>#define EPS 0.001#include<math.h>main(){ int a,b,c,A,B;float povrsina, dx=4,x,y,suma=0,starasuma;A=1; B=5;printf("Unesi tri koeficijenta funkcije:");scanf("%d %d %d",&a,&b,&c);do

Page 3: Vjeciti Student - Osnovi Programiranja

{ starasuma=suma; suma=0; x=A; do { y=(a*x*x)+(b*x)+c; povrsina=y*dx; suma+=povrsina; x+=dx; } while(x<B); dx/=2;}while(fabs(suma-starasuma)>EPS);printf("Povrsina je %f:",suma);system("pause"); }

//Zadatak sa kolokvijuma 16.05.2013-grupa C#include<stdio.h>#include<stdlib.h>#define EPS 0.001#include<math.h>main(){ int a,b,c,A,B;float povrsina, dx,x,y,suma=0,starasuma;printf("Unesi segmente A i B:");scanf("%d %d",&A,&B);dx=B-A;printf("Unesi tri koeficijenta funkcije:");scanf("%d %d %d",&a,&b,&c);do{ starasuma=suma; suma=0; x=A; do { y=(a*x*x)+(b*x)+c; povrsina=y*dx; suma+=povrsina; x+=dx; } while(x<B); dx/=2;}while(fabs(suma-starasuma)>EPS);printf("Povrsina je %f:",suma);system("pause");}

Page 4: Vjeciti Student - Osnovi Programiranja

//Zadatak sa kolokvijuma 16.05.2013-grupa C#include<stdio.h>#include<stdlib.h>#define EPS 0.0001#include<math.h>main(){ int a=1,b=-6,c=10,A,B;float povrsina, dx,x,y,suma=0,starasuma;printf("Unesi segmente A i B:");scanf("%d %d",&A,&B);dx=B-A;

do{ starasuma=suma; suma=0; x=A; do { y=(a*x*x)+(b*x)+c; povrsina=y*dx; suma+=povrsina; x+=dx; } while(x<B); dx/=2;}while(fabs(suma-starasuma)>EPS);printf("Povrsina je %f:",suma);system("pause"); }

\

Page 5: Vjeciti Student - Osnovi Programiranja

// Napisati program koji ispisuje najmanji savrsen broj koji je veci od nekog prirodnog broja b(b se ucitava sa standardnog ulaza). //Nakon toga ispisati koliko taj savrseni broj ima cifara, te najmanju cifru tog savrsenog broja.//Broj x je savrsen ako je jednak zbiru svojih djelilaca. Npr.br 6 je savrsen jer je 6=1+2+3;#include<stdio.h>#include<stdlib.h>main(){ int b,k=0,suma,cifra,br=0,min,i;do {printf("Unesi prirodan broj b:");scanf("%d",&b); }while(b<1);b++;//prelazimo na sledeci br poslije b.while(k==0) //dok je k nula, nismo nasli savrsen broj.{ suma=0; for(i=1;i<=b-1;i++) if(b%i==0) suma+=i; if(suma==b) { printf("Broj %d je savrsen!",b); k=1; //zavrsavamo trazenje savrsenog broja. } else b++;}min=9; //kolika moze biti maksimalna vrijednost minimalne cifre.for( ; b>0;b/=10){ cifra=b%10; br++;//prebrojimo koliko ima cifara if(cifra<min) min=cifra; }printf("\nCifara ima %d",br);printf("\nMinimalna cifra je %d!!!\n",min);system("pause"); }

Page 6: Vjeciti Student - Osnovi Programiranja

//Napisati program koji odredjuje i ispisuje najmanji prosti broj koji je veci od nekog prirodnog broja a(a se ucitava sa standardnog ulaza). //Nakon toga ispisati koliko taj prosti broj ima cifara, te najvecu cifru tog prostog broja broja.//Broj x je prost ako je djeljiv samo sa sobom i sa 1.#include<stdio.h>#include<stdlib.h>main(){ int a,k=0,i,h,cifra,br=0,max;do {printf("Unesi prost broj:");scanf("%d",&a); }while(a<1);a++;// broj veci od a :Dwhile(k==0) // nismo nasli prost br.{ h=0; for(i=2;i<a;i++) if(a%i==0) h++; if(h==0) { printf("Broj %d je prost!\n",a); k=1; } //kada nadjemo prost br. else a++; } //ispitujemo sledeci broj max=0; for( ; a>0;a/=10) { cifra=a%10; br++;// koliko se pojavljuje cifara. if(max<cifra) max=cifra; } printf("Cifara ima %d:",br); printf("Najveca cifra je %d!\n",max);system("pause"); }

Page 7: Vjeciti Student - Osnovi Programiranja

//Napisati program koji odredjuje i ispisuje najmanji prosti broj koji je manji ili jednak od nekog unesenog broja a(a>1000). //Nakon toga ispisati koliko taj prosti broj ima cifara, te njihovu sumu.//Broj x je prost ako je djeljiv samo sa sobom i sa 1.#include<stdio.h>#include<stdlib.h>main(){ int a,k=0,i,h,cifra,br=0,suma=0;do { printf("Unesi prost broj:"); scanf("%d",&a); }while(a<=1000);while(k==0) // nismo nasli prost br.{ h=0; for(i=2;i<a;i++)//i ide od dva zato sto je svaki broj djeljiv sa 1 if(a%i==0)//ako za bar jedno i nadjemo da je osatatak jednak nuli h uvecamo, tj. a nije prost broj h++; if(h==0) //ako se h nije uvecalo nijednom a je prost broj { printf("Broj %d je prost!\n",a); k=1; //kada nadjemo prost br. } else a--; //ispitujemo za sledeci manji br } for( ; a>0;a/=10) { cifra=a%10; br++;// koliko se pojavljuje cifara. suma+=cifra; } printf("Cifara ima %d:",br); printf("Suma cifra je %d!\n",suma);

system("pause"); }

Page 8: Vjeciti Student - Osnovi Programiranja

//njutnovom iterativnom formulom//x0=(x+1)/n xi+1=1/n*((n-1)xi+x/xi na n-1), i=0,1,2,.....//moze da se izracuna n-ti (n>0)korjen broja x pripada R//definisati funkciju u programskom jeziku c koja izracunava i kao rezultat vraca n-ti korjen (s preciznoscu 10*10*10)//realnog broja koji je argument funkcije. Zadatak rjesiti bez ukljucivanja <math.h> //Napisati program#include<stdio.h>#include<stdlib.h>#define EPS 0.0001double racunanjeKorjena(double x);main(){ double x,g;printf("Unesi x:");scanf("%lf",&x);

g=racunanjeKorjena(x);printf("Korjen je: %lf",g);

system("pause");}

double racunanjeKorjena(double x){ int n,i; double xn,xs,p,k,h,pom; do { printf("Unsesi n:"); scanf("%d",&n); } while(n<0); xn=(x+1)/n; do { xs=xn; p=1; // zbog racunanja stepena for(i=0;i<n-1;i++) // pogledaj formulu :D p*=xs; //p je xs na n minus 1 :D xn=( ( (n-1)*xs )+(x/p) )/n; //Njutnova iteraciona (formula iz zadatka) k=xn; h=xs; if(k<h) // ako je k<h vrijednosti mjenjaju mjesta da bi prvi uvijek bio veci { pom=h; //klasicna zamjena vrijednosti sa Brdjinih prezentacija. h=k; k=pom;

Page 9: Vjeciti Student - Osnovi Programiranja

} } while((k-h)>EPS); // kao apsolutna vrijednost(uvijek od veceg oduzimamo manje).return (xn);}

//Pn(x)=suma (od i=1 do n) (yi * proizvod (od j=1 do n) (x-xi/xi-xj))// napisati program koji sa standardnog ulaza ucitava n (n>0) tacaka (xi,yi) kojima je zadana neka funkcija y=f(x), a//zatim izracunava vrijednost te funkcije u tacki x=0#include<stdio.h>#include<stdlib.h>main(){ int n,i,j, nizx[100],nizy[100],x=0;double p,suma=0;

do { printf("Unesi n:"); // Unosimo n tacaka za xi i yi scanf("%d",&n); } while(n<=0); for(i=0;i<n;i++) { printf("Unesi %d.tacku: ",i+1); // Unosimo i-tu tacku. scanf("%d %d",&nizx[i],&nizy[i]); } for(i=1;i<n;i++) { p=1; //za svaku sumu racunamo iznova proizvod for(j=1;j<n;j++) { if(j!=i) //uslov proizvoda(pogledaj zadatak) p*=(double)(x-nizx[j])/(nizx[i]-nizx[j]); //racunanje proizvoda } suma+=nizy[j]*p; //Racunanje sume za dati proizvod (Lagranzov interpolacioni polinom) } printf("Vrijednost funkcije u tacki x=0 je %lf",suma);

system("pause");}

Page 10: Vjeciti Student - Osnovi Programiranja

// Polinom A(x) stepena n(n<100), sa cjelobrojnim koeficjentima an,….a0://A(x)=a_n x^n+a_(n-1) x^(n-1)+?+a_1 x+a_0//Moze da se opise sljedecim tipom://Typedef struct p { int a[100],n;} POLINOM;//Napisati program koji ucitava dva polinoma, a zatim izracunava i ispisuje njihov prozivod. Za ucitavanje polinoma treba definisati i koristiti funkciju ciji je prototip//POLINOM citaj();//Za mnozenje polinoma treba definisati i koristiti funkciju ciji je prototip//void mnozenje(POLINOM, POLINOM,POLINOM *);//Za ispis polinoma treba definisati i koristiti funkciju ciji je prototip//void ispis(POLINOM);

#include<stdio.h>#include<stdlib.h>typedef struct p { int a[100], n; } POLINOM; // a predstavlja koeficijente od polinomaPOLINOM citaj();void mnozenje(POLINOM,POLINOM,POLINOM *); void ispis(POLINOM);main(){ POLINOM x,y,c; x=citaj(); y=citaj(); mnozenje(x,y,&c); //&c - zato sto funkcija koristi pokazivac ispis(c);system("pause");}POLINOM citaj(){ POLINOM x; int i; printf("Unesi stepen polinoma:"); scanf("%d",&x.n); // n je stepen od polinoma x, zato preko polinoma x pristupamo bas stepenu n for(i=x.n;i>=0;i--) { printf("Unesi koeficijent %d:",i); scanf("%d",&x.a[i]); // unosimo koeficijente bas polinoma x } return(x); }void mnozenje(POLINOM x, POLINOM y, POLINOM *c){ int i,j; for(i=0;i<100;i++) c->a[i]=0; //postavljamo sve koeficijente na nulu. for(i=x.n;i>=0;i--) //koeficijent prvog polinoma { for(j=y.n;j>=0;j--) //koeficijent drugog polinoma

Page 11: Vjeciti Student - Osnovi Programiranja

c->a[i+j]+=x.a[i]*y.a[j]; // proizvod dva polinoma } c->n=x.n+y.n;} void ispis(POLINOM p){ int i; for(i=p.n;i>=0;i--) printf(" +%dx^%d",p.a[i],i);}

//Definisati tip TACKA kojim se reprezentuje tacka u xOy kordinatnom sistemu (svaka tacka ima odgovarajuceu //slovnu oznaku, te dvije realne kordinate)//Definisati tip TROUGAO kojim se reprezentuje trougao u xOy kordinatnom sistemu (svaki trougao cine tri tacke koje predstavljaju vrhove trougla)//Napisati program koji sa standardnog ulaza ucitati tri tacke, a zatim formirati trougao od te tri tacke, pa izracunava i ispisuje njegovu povrsinu i obim//za ucitavanje tacke treba definisati i koristiti funkciju ciji je prototip TACKA citaj();//za formiranje trougla treba definisati i koristiti funkciju ciji je prototip: void trougao(TACKA,TACKA,TACKA,TROUGAO *);//za izracunavanje udaljenosti izmedju dvije tacke treba definisati i koristiti funkciju ciji je prototip: float udaljenost(TACKA,TACKA);//za izracunavanje i ispis povrsine i obima trougla treba definisati i koristiti funkciju ciji je prototip: void pio(TROUGAO);#include<stdio.h>#include<stdlib.h>#include<math.h>typedef struct dragana { int x,y; //nisam narcis ogledala mi!! char s; } TACKA;typedef struct savanovic { TACKA a,b,c; } TROUGAO; //struktura u strukturi TACKA citaj();void trougao(TACKA,TACKA,TACKA,TROUGAO *);float udaljenost(TACKA,TACKA);void pio(TROUGAO);main(){ TACKA a,b,c; TROUGAO d; a=citaj(); b=citaj(); c=citaj(); trougao(a,b,c,&d);

Page 12: Vjeciti Student - Osnovi Programiranja

pio(d);system("pause");}

TACKA citaj() //funkcija vraca tip, ali ne prima nista{ TACKA a; //zato se definise prazna tacka i napuni se.printf("Unesi slovnu oznaku:");scanf("%c",&a.s);printf("Unesi kordinate tacke x i y:");scanf("%d %d",&a.x,&a.y);return(a); //vratimo napunjenu tacku.}

void trougao(TACKA i,TACKA j,TACKA k,TROUGAO *w){ w->a.x=i.x; //punili smo tacke *(w).a.x w->a.y=i.y; w->a.s=i.s; // i davali nazive tacaka odnosno slovne oznake. w->b.x=j.x; //od trougla w, njegova tacka b, uzima vrijednost tacke j. w->b.y=j.y; w->b.s=j.s; w->c.x=k.x; w->c.y=k.y; w->c.s=k.s; } float udaljenost (TACKA m, TACKA n) { int a,b; float c; a=m.x-n.x; //stranica a b=m.y-n.y; //stranica b c=sqrt((a*a)+(b*b)); //udaljenost izmedju tacaka m i n. return(c); //vracamo udaljenost.}

void pio(TROUGAO t){ float obim, povrsina,poluobim;obim=udaljenost(t.a,t.b)+udaljenost(t.b,t.c)+udaljenost(t.c,t.a);poluobim=obim/2;povrsina=sqrt(poluobim*(poluobim-udaljenost(t.b,t.c))*(poluobim-udaljenost(t.c,t.a))*(poluobim-udaljenost(t.a,t.b)));printf("Obim je %f, a povrsina je %f!\n",obim,povrsina);}

Page 13: Vjeciti Student - Osnovi Programiranja

//u ulaznoj datoteci, ciji je naziv prvi argument komandne linije, treba pronaci sve cjele brojeve//npr. u stringu: "11000 Beograd,35.5oC", cjeli brojevi su: 11000,35,5) i te brojeve (svaki u zasebnom redu) treba upisati u datoteku ciji je naziv//BROJEVI.TXT. Zadatak rjesiti bez primjene funkcije iz <string.h>.#include<stdio.h>#include<stdlib.h>main(int args,char **argv ){ FILE *dragana, *savanovic; //tip datotekeint h;char c; // dragana=fopen(argv[1],"r");dragana=fopen("10.07.2012.txt","r");savanovic=fopen("BROJEVI.txt","w");

while(!feof(dragana)){ fscanf(dragana,"%c",&c); if(c>='0' && c<='9') { fprintf(savanovic,"%c",c); h=0; //pojavio se br } if ((c<'0' || c>'9') && (h==0)) //h govori da li su prije bili brojevi ili nesto drugo { fprintf(savanovic,"\n"); h++; // pojavilo se nesto sto nije broj. } } fclose(dragana);fclose(savanovic);

system("pause");}

Page 14: Vjeciti Student - Osnovi Programiranja

//U ulaznoj datoteci(naziv datoteke je argument komandne linije), //u kojoj su redom upisani cjelobrojni podaci(broj podataka nije poznat), //treba pronaci najduzi rastuci podniz, tj niz uzastopnih podataka koji su u strogo rastucem poretku. //Rezultat treba upisati u datoteku PODNIZ.DAT. //U slucaju da u ulaznoj datoteci postoji vise podnizova trazenih karakteristika, u izlaznu datoteku upisati samo posljednji podniz.#include<stdio.h>#include<stdlib.h>main( int args,char **argv){ FILE *dragana;int k=0,niz[100],podniz[100],p=0,maxpodniz[100],br=0,j,i;//dragana=fopen(argv[1],"r");dragana=fopen("18.09.2012.txt","r");while(!feof(dragana)){ fscanf(dragana,"%d",&niz[k]); k++; }fclose(dragana);maxpodniz[0]=niz[0]; //pocetna velicina (pozicija) max podniza.podniz[0]=niz[0]; // podniz sa prvim elementom.p++; //punimo odmah i podniz.br++; // broj elemenata max podniza.for(i=1;i<k;i++) //i nam govori na kojoj smo poziciji, a k govori koliko ima elemenata{ if(niz[i]<niz[i-1]) { if(p>=br) { for(j=0;j<p;j++) // kopiramo podniz u max podniz. maxpodniz[j]=podniz[j]; br=p; // broj elemenata maxpodniza uzima vrijednost broja elemenata podniza } p=1; // brisemo podniz i ubacujemo ucitani element glavnog niza podniz[0]=niz[i]; // podnizu dodjeljujemo ucitani elemet niza. } else { podniz[p]=niz[i]; // j je brojac elemenata koliko ih ima u podnizu. p++; } } dragana=fopen("PODNIZ.txt","w"); for(i=0;i<br;i++) fprintf(dragana,"%d, ",maxpodniz[i]); fclose(dragana); system("pause");}

Page 15: Vjeciti Student - Osnovi Programiranja

//U ulaznoj datoteci(naziv datoteke je argument komandne linije), //u kojoj su redom upisani cjelobrojni podaci(broj podataka nije poznat), //treba pronaci najduzi rastuci podniz, tj niz uzastopnih podataka koji su u strogo rastucem poretku. //Rezultat treba upisati u datoteku PODNIZ.DAT. //U slucaju da u ulaznoj datoteci postoji vise podnizova trazenih karakteristika, u izlaznu datoteku upisati samo posljednji podniz.#include<stdio.h>#include<stdlib.h>main( int args,char **argv){ FILE *dragana;int k=0,niz[100],podniz[100],p=0,maxpodniz[100],br=0,j,i;//dragana=fopen(argv[1],"r");dragana=fopen("18.09.2012.txt","r");while(!feof(dragana)){ fscanf(dragana,"%d",&niz[k]); // broj elemenata u nizu k++; // prelazi na sl.element u nizu }fclose(dragana);maxpodniz[0]=niz[0]; //pocetna velicina (pozicija) max podniza.podniz[0]=niz[0]; // podniz sa prvim elementom.p++; //punimo odmah i podniz.br++; // broj elemenata max podniza.for(i=1;i<k;i++) //i nam govori na kojoj smo poziciji, a k govori koliko ima elemenata{ if(niz[i]<niz[i-1]) //ako je trenutni element manji od prethodnog { if(p>=br) //ako je broj elemenata podniza >= broju elemenata maxpodniza { for(j=0;j<p;j++) // kopiramo podniz u max podniz. maxpodniz[j]=podniz[j]; br=p; // broj elemenata maxpodniza uzima vrijednost broja elemenata podniza } p=1; // brisemo podniz i ubacujemo ucitani element glavnog niza podniz[0]=niz[i]; // podnizu dodjeljujemo ucitani elemet niza. } else //ako je posmatrani element veci od prethodnog, onda punimo podniz sa tim elementom { podniz[p]=niz[i]; // j je brojac elemenata koliko ih ima u podnizu. p++; // povecavamo brojac elemenata podniza, tj otvaramo sledecu poziciju u podnizu za unos } } dragana=fopen("PODNIZ.txt","w"); for(i=0;i<br;i++) fprintf(dragana,"%d, ",maxpodniz[i]); fclose(dragana);system("pause");

Page 16: Vjeciti Student - Osnovi Programiranja

// Ucitati neki realan broj x koji predstavlja ugao u stepenima, pretvoriti ga u radijane, pa odrediti vrijednost sinusne funkcije za taj ugao sa prpeciznoscu 0.0001 koristeci Maklorenovu formula za sinus.#include<stdio.h>#include<stdlib.h>#include<math.h>#define EPS 0.0001#define PI 3.14159main(){double xs,h=1,xn=0,p, y, x;int k=1;printf("Unesi vrijednost x u stepenima:\n");scanf("%lf", &x);x=x*PI/180; do { h=1; xs=xn; y=pow(-1,k-1); y*=pow(x,2*k-1); p=(2*k-1); for(;p>0;p--) h*=p; xn=xs+(y/h); k++; }while (fabs(xn-xs)>EPS);printf("V rijednost sinusa je %lf", xn);system("pause"); }

// Napisati broj koji ucitava niz prirodnih brojeva, a zatim ispisuje sve brojeve iz tog niza koji pocinju i zavrsavaju istom cifrom. #include<stdio.h>#include<stdlib.h>main(){ int x,a,i,br,p,y;do { printf("Unesi brojeva koliko hoces:"); scanf("%d",&x); } while(a<1); for(i=0;i<a;i++) { printf("Unesi broj:"); scanf("%d",&br); p=br; x=br%10; y=x; br/=10; for(; br>0;br/=10) y=br%10; if(x==y) printf("Broj ima istu prvu i poslednju cifru: %d\n",p); } system("pause"); }

Page 17: Vjeciti Student - Osnovi Programiranja

// Definisati funkciju ciji je prototip int brojac(FILE*,char *); koja provjerava koliko puta se dati string nalazi u tekstualnoj datoteci. Funkcija vraca ukupan broj pojava zadatog stringa, odnosno 0, ako string ne postoji.#include<stdio.h>#include<stdlib.h>int brojac(FILE*,char*);main(){ FILE *dragana;char s[20];int k;printf("Unesi s:");scanf("%s",&s);dragana=fopen("05.10.2010.txt","r");k=brojac(dragana,s);printf("Stringa %s ima ukupno %d.puta!\n",s,k);fclose(dragana);

system("pause");}int brojac(FILE *dragana, char *s){ char st[100];int i,t=0,j,k=0,br=0; // i je veliki string, a j je mali string.while(s[k++]!='\0')while(!feof(dragana)){ fgets(st,100,dragana);for(i=0,j=0;st[i]!='\0';){ if(st[i]!=st[j]){ i-=t;i++;j-=t;t=0; }else{ i++; j++; t++; } //t je ako se ne poklapa pa vracamo za koliko pozicija se poklapaju.if(j=k){ br++; j=0; } } }return(br); }

Page 18: Vjeciti Student - Osnovi Programiranja

//Napisati program koji tabelarno ispisuje vrijednost funkcije kosinus na interval[0,90] s korakom od 5 stepeni. Za izracunavanje funkcije kosinus treba definisati funkciju ciji je prototip double kosinus(double); Funkcija treba da izracuna i vrati rezultat s tacnoscu na cetvrtu decimalu koristeci Maklorenovu formulu.#include<stdio.h>#include<stdlib.h>#define EPS 0.0001#define PI 3.14159#include<math.h>double kosinus(double);main(){ double x;int i;for(x=0;i<=90;x+=5)printf("x=%lf cosx=%lf\n",x,kosinus(x*PI/180));system("pause"); }

double kosinus(double){ double suma=1,faktorijel,starasuma,xn,znak,t,x;int k=1,i;znak=pow(-1,k);t=pow(x,2*k); // imenilacfor(i=1;i<=2*k;i++)faktorijel*=i;xn=znak*t/faktorijel; // citav razlomaksuma+=xn;k++; }while(fabs(starasuma-suma)>EPS); return fabs(suma); }

#include <stdio.h>#include <stdlib.h>typedef struct {float a[10][10];int n; int m;} MATRICA;void ucitaj(MATRICA *mat){ int i,j; printf("Dimenzije matrice: "); scanf("%d %d",mat->n,mat->m); for(i=0;i<mat->n;i++) for(j=0;j<mat->m;j++) { printf("a[%d][%d]=",i,j); scanf("%f",mat->a[i][j]); } }

Page 19: Vjeciti Student - Osnovi Programiranja

void ispisi(MATRICA mat){ int i,j; for(i=0;i<mat.n;i++) { for(j=0;j<mat.m;j++) printf("%5f",mat.a[i][j]); printf("\n"); } }int mnozenje(MATRICA prva, MATRICA druga){ if(prva.m==druga.n) return(1); else return(0); }void pomnozi(MATRICA prva, MATRICA druga, MATRICA *matrj){ int i,j,k; for(i=0;i<prva.m;i++) for(j=0;j<druga.n;j++) for(k=0;k<prva.m;k++) matrj->a[i][j]+=prva.a[i][k]*druga.a[k][j];}

int main(){ MATRICA m1,m2,*mat; int i,j; ucitaj(&m1); ucitaj(&m2); mnozenje(m1,m2); if (mnozenje(m1,m2)==1) {pomnozi(m1,m2,&mat) ispisi() }