You are on page 1of 31

Zadaci:

1.Upisati broj i ispitati je li prost koristeći pointere!


#include <stdio.h>

void main() {
int i, brojac=0, a, *pbr, *pa;

pbr = &brojac;
pa = &a;

printf("\nUpisi broj: ");


scanf("%d", pa);

for (i = 2; i <= *pa/2; i++)


if(*pa % i == 0)
(*pbr)++;

if (*pa == 1)
printf("\nBroj jedan nije definisan");
else
if (*pbr == 0)
printf("\nBroj je prost!");
else
printf("\nBroj nije prost");

return;
}

2.Upisati tri broja i ispisati najveći koristeći pointere!


#include <stdio.h>

void main() {
int a, b, c, max, *pa, *pb, *pc, *pmax;

pa = &a;
pb = &b;
pc = &c;

pmax = &max;

printf("\nUpisi tri broja: ");


scanf("%d %d %d", pa, pb, pc);
*pmax = *pa;

if (*pb > *pmax)


*pmax = *pb;

if (*pc > *pmax)


*pmax = *pc;

printf("\nNajveci broj je %d", *pmax);

return;
}

3.Upisati 10 brojeva. Ispisati koliko je upisano parnih brojeva djeljivih s 5, a koliko neparnih
djeljivih s 3 koristeći pointere!
#include <stdio.h>

void main() {
int i, br, parnih=0, neparnih=0, *pbr, *pparn, *pnepar;

pbr = &br;
pparn = &parnih;
pnepar = &neparnih;

for (i = 0; i < 10; i++) {


printf("\nUpisi %d. broj:", i+1);
scanf("%d", pbr);

if (*pbr % 2 == 0 && *pbr % 5 == 0)


(*pparn)++;

if (*pbr % 2 == 1 && *pbr % 3 == 0)


(*pnepar)++;
}

printf("\nParnih djeljivih s 5 = %d", *pparn);


printf("\nNeparnih djeljivih s 3 = %d", *pnepar);

return;
}

4.Učitati string koji sadrži manje od 50 karaktera i sva mala slova u tom stringu konvertovati u
velika, a ostale karaktere ne mijenjati.
#include<stdio.h>

int main()
{
char niz[50];
int i=0;
puts("Unesi neku rijec");
gets(niz);
while(niz[i]!='\0')
{
if (niz[i]>='a'&&niz[i]<='z')
niz[i]+='A'-'a';
i++;
}
printf("Izmijenjeni string je: %s",niz);
}

5.Učitati evidenciju o nekoliko lica (ime, dužine manje od 15 karaktera, i ulog), a zatim štampati
imena svih onih koji imaju ulog veći od prosječnog.
#include<stdio.h>

int main()
{
char imena[20][15];
float ulog[20],prosjek=0.0;
int i,a;
printf("Ucitaj broj imena: ");
scanf("%d",&a);
printf("Ucitaj imena lica i njihov ulog: ");
for(i=0;i<a;i++)
{
scanf("%s%f",imena[i],&ulog[i]);
prosjek+=ulog[i];
}
prosjek/=a;
puts("Ulog veci od prosjeka imaju:");
for(i=0;i<a;i++)
if(ulog[i]>prosjek)
printf("%s\t\t%6.2f\n",imena[i],ulog[i]);
}

6.Napisati program koji za unijeti prirodni broj računa sumu i proizvod svih prirodnih brojeva
koji su manji od ili jednaki tom broju.
#include<stdio.h>
int main()
{
int a,i=1,sum=0;
long int prod=1;
puts("Unesi neki prirodni broj");
scanf("%d",&a);
while(i<=a)
{
sum+=i;
prod*=i;
i++;
}
printf("Suma prirodnih brojeva do broja %d je: %d\n",a,sum);
printf("Proizvod prirodnih brojeva do broja %d je: %ld\n",a,prod);
}

7.Napisati program koji računa srednju vrijednost niza cijelih brojeva.


#include<stdio.h>

int main()
{
int i,N,x[50];
float mean=0.0;
printf("Unesi broj clanova niza\n");
scanf("%d",&N);
printf("Unesi clanove niza\n");
for(i=0;i<N;i++)
scanf("%d",x+i);
for(i=0;i<N;i++)
mean+=(float)x[i]/N;
printf("Srednja vrijednost niza je: \t %f \n",mean);
}

8.Napisati program koji provjerava da li je učitani prirodan broj N Hamming-ov broj. Prirodan
broj je Hamming-ov ukoliko su mu jedini prosti činioci 2, 3 ili 5.
#include<stdio.h>

int main()
{
int N;
printf("Unijeti prirodan broj: ");
scanf("%d",&N);
while(N%2==0)
N/=2;
while(N%3==0)
N/=3;
while(N%5==0)
N/=5;
if(N==1)
printf("Broj je Hamming-ov");
else
printf("Broj nije Hamming-ov");
}

9.Napisati program koji će za unesen prirodan broj štampati sve proste brojeve koji su manji od
zadatog broja. Program treba da sadrži funkciju koja određuje da li je broj, koji joj se prosljeđuje
kao argument, prost.
#include<stdio.h>

int prost(int);
int main()
{
int i,n;
printf("Unesi broj:\n");
scanf("%d",&n);
printf("Prosti brojevi su:\n");
for(i=1;i<n;i++)
if(prost(i))
printf("%d ",i);
printf("\n");
}
int prost(int n)
{
int i;
for(i=2;i*i<=n;i++)
if(n%i==0)
return 0;
return 1;
}

10.Napisati funkciju koja broji koliko se početnih karaktera dva stringa, koji su joj argumenti,
poklapa.
#include<stdio.h>

int poklapanje(char *,char *);


int main()
{
char prvi[30],drugi[20];
puts("Unesi stringove");
gets(prvi);
gets(drugi);
printf("Poklapa se %d karaktera",poklapanje(prvi,drugi));
}
int poklapanje(char *str1,char *str2)
{
int broj=0;
while(str1[broj]==str2[broj]&&str1[broj]&&str2[broj])
broj++;
return broj;
}

11.Napisati program kojim se unosi niz cijelih brojeva, od maksimalno 20 elemenata, i racuna i
stampa njegov maksimalni i minimalni element.
#include<stdio.h>

int main()
{
int a[20],min,max,i,N;
printf("Unesi broj clanova niza\n");
scanf("%d",&N);
printf("Unesi clanove niza\n");
for(i=0;i<N;i++)
scanf("%d",a+i);
max=min=a[0];
for(i=1;i<N;i++)
if(a[i]>max)
max=a[i];
else if(a[i]<min)
min=a[i];
printf("Minimum niza je: %d\nMaksimum niza je: %d ",min,max);
}

12.Napisati program koji formira podniz niza cijelih brojeva koji se sastoji od onih elemenata
koji su veći od zadatog cijelog broja.
#include<stdio.h>

#define MAX 20
int main()
{
int N,k=0,i,a[MAX],b[MAX],C;
printf("Unesi broj clanova niza: ");
scanf("%d",&N);
printf("Unesi cijeli broj: ");
scanf("%d",&C);
printf("Unesi clanove niza: ");
for(i=0;i<N;i++)
{
scanf("%d",a+i);
if(a[i]>C)
b[k++]=a[i];
}
if(k>0)
{
printf("Elementi niza veci od datog cijelog broja su:\n");
for(i=0;i<k;i++)
printf("%d ",b[i]);
}
}

13.Učitava se nekoliko riječi, pri čemu je dužina riječi manja od 11 karaktera, a zatim se štampa
koliko ima tu različitih riječi.
#include<stdio.h>
#include<string.h>

int main()
{
char rijeci[20][11];
int i,j,brRijeci,razl=0,uslov;
printf("Koliko rijeci zelite da unesete?\n");
scanf("%d",&brRijeci);
for(i=0;i<brRijeci;i++)
scanf("%s",rijeci[i]);
for(i=0;i<brRijeci-1;i++)
{
uslov=1;
for(j=i+1;j<brRijeci;j++)
if(strcmp(rijeci[i],rijeci[j])==0)
uslov=0;
razl+=uslov;
}
printf("Ima %d razlicitih rijeci",razl);
}

14.Napisati funkciju ukloniKarakter za uklanjanje svake pojave zadatog karaktera iz stringa.


Pored pokazivača na string, argument funkcije je karakter kog treba ukloniti. Funkcija vraća broj
uklonjenih karaktera.
#include<stdio.h>

int ukloniKarakter(char *,char);


int main()
{
char kar,s[50];
int b;
puts("Unijeti karakter");
scanf("%c",&kar);
puts("Unesi string");
scanf("%s",s);
b=ukloniKarakter(s,kar);
printf("String je %s",s);
printf(", a broj uklonjenih karaktera %c je %d\n",kar,b);
}
int ukloniKarakter(char *str,char kar)
{
int elim=0,i=0,j=0;
while(str[i]!='\0')
{
if(str[i]!=kar)
str[j++]=str[i];
else
elim++;
i++;
}
str[j]='\0';
return elim;
}

15.Napisati program koji za unijeti prirodni broj računa i štampa zbir njegovih cifara.
#include<stdio.h>

int main()
{
int s=0,N;
printf("Unesi prirodan broj\n");
scanf("%d",&N);
while(N!=0)
{
s+=N%10;
N/=10;
}
printf("Suma cifara prirodnog broja je: %d\n",s>0?s:-s);
}

16. Upisati ime i prezime te opšti uspjeh učenika. Nakon toga ispisati upisane podatke.
#include <stdio.h>
void main()
{
struct ucenik
{
char ime[20];
char prezime[20];
int uspjeh;
} uc;

printf("\n Ucitaj ime učenika: ");


scanf("%s", uc.ime);

printf("\n Ucitaj prezime učenika: ");


scanf("%s", uc.prezime);

printf("\n Ucitaj opsti uspjeh: ");


scanf("%d", &uc.uspjeh);

printf("\n Ime ucenika je %s", uc.ime);


printf("\n Prezime učenika je %s", uc.prezime);
printf("\n Opsti uspjeh je %d", uc.uspjeh);
return;
}

17. Upisati ime, prezime te opšti uspjeh za 2 učenika. Ispisati ime i prezime učenika koji ima
bolji uspjeh.
#include <stdio.h>
void main()
{
struct ucenik
{
char ime[20];
char prezime[20];
int uspjeh;
} uc1, uc2;

printf("\n Učitaj ime 1. učenika: ");


scanf("%s", uc1.ime);

printf("\n Učitaj prezime 1. učenika: ");


scanf("%s", uc1.prezime);

printf("\n Učitaj opsti uspjeh 1. učenika: ");


scanf("%d", &uc1.uspjeh);

printf("\n Učitaj ime 2. učenika: ");


scanf("%s", uc2.ime);

printf("\n Učitaj prezime 2. učenika: ");


scanf("%s", uc2.prezime);

printf("\n Učitaj opsti uspjeh 2. učenika: ");


scanf("%d", &uc2.uspjeh);

if (uc1.uspjeh > uc2.uspjeh) {


printf("\n Ime učenika je %s", uc1.ime);
printf("\n Prezime učenika je %s", uc1.prezime);
printf("\n Opsti uspjeh %d", uc1.uspjeh);
}
else if (uc2.uspjeh > uc1.uspjeh) {
printf("\n Ime učenika je %s", uc2.ime);
printf("\n Prezime učenika je %s", uc2.prezime);
printf("\n Opsti uspjeh %d", uc2.uspjeh);
}
else
printf("\n Oba učenika isti opsti uspjeh %d", uc1.uspjeh);

return;
}

18. Upisati vrijednost dvije varijable i sabrati ih. Ispisati vrijednost varijabli i njihovog zbira te
vrijednosti adresa svih korištenih varijabli.
#include <stdio.h>
void main() {
int a, b, c, *pa, *pb, *pc;

pa = &a;
pb = &b;
pc = &c;

printf("\nUpiši dva broja");


scanf("%d %d", pa, pb);

*pc = *pa + *pb;


printf("\na = %d adresa je %x", *pa, pa);
printf("\nb = %d adresa je %x", *pb, pb);
printf("\nc = a+b = %d adresa je %x", *pc, pc);

return;
}

19. Upisati broj i pomocu pokazivača ispitati da li je prost.


#include <stdio.h>

void main() {
int i, brojac=0, a, *pbr, *pa;

pbr = &brojac;
pa = &a;

printf("\nUpiši broj: ");


scanf("%d", pa);

for (i = 2; i <= *pa/2; i++)


if(*pa % i == 0)
(*pbr)++;

if (*pa == 1)
printf("\nBroj jedan nije definiran");
else
if (*pbr == 0)
printf("\nBroj je prost!");
else
printf("\nBroj nije prost");
return;
}

20. Učitati tri broja. U funkciji pronaći i ispisati najveći od ta tri broja.
#include <stdio.h>

void maksimum(int x, int y, int z) {


int max;
max=x;

if(y > max)


max=y;

if(z > max)


max=z;

printf("\nNajveći broj je %d.", max);

return;
}

void main() {
int a, b, c, m;

printf("\nUpiši tri broja: ");


scanf("%d %d %d", &a, &b, &c);

maksimum(a,b,c);

return;
}
21. Učitati 5 znakova. Za svaki znak u funkciji ispisati njegov ASCII kod.
#include <stdio.h>

void ascii(char x) {
int asc;

asc = x;

printf("\nAscii kod znaka %c je %d", x, asc);

return;
}

void main() {
int i;
char znak;

for (i=1; i<=5; i++) {


printf("\nUnesi %d. znak: ", i);
scanf(" %c", &znak);

ascii(znak);
}

return;
}

22. Učitati rečenicu. Ispisati njenu dužinu ne koristeći funkciju strlen.


#include <stdio.h>
#include <string.h>

void main() {
char a[100], *pa;
int i;

pa = &a[0];

printf("\nUpiši rečenicu: ");


gets(a);

i = 0;

while (*(pa + i) != '\0')


i++;

printf("\nDuzina rečenice je %d", i);

return;
}

23. Učitati rečenicu maksimalne duzine 100 znakova. Ispisati koliko se puta pojavilo veliko slovo
u rečenici.
#include <stdio.h>
#include <string.h>

void main() {
char a[100], *pa;
int i, n, velika=0;

pa = &a[0];

printf("\nUpiši rečenicu: ");


gets(a);
n = strlen(a);
for (i = 0; i < n; i++)
if (*(pa + i) >= 'A' && *(pa + i) <= 'Z')
velika++;

printf("\nBroj velikih slova je %d", velika);

return;
}

24. Učitati rečenicu i izbrojati koliko brojeva ima u rečenici.


#include <stdio.h>
#include <string.h>

void main() {
char rec[200];
int i, n, brojac = 0, log = 0;

printf("\n Upišite rečenicu");


gets(rec);
n = strlen(rec);

for (i = 0; i < n; i++) {


if (rec[i] >= '0' && rec[i] <= '9' && log == 0) {
brojac++;
log = 1;
}

if (rec[i] < '0' || rec[i] >'9')


log = 0;
}
printf("\n U rečenici ima %d brojeva", brojac);

return;
}

25. Učitati riječ. Ako je prvo slovo riječi veliko ili malo slovo 's' ispisati riječ s razmacima između
slova, u suprotnom ispisati svako slovo u novi red.
#include <stdio.h>
#include <string.h>

void main(){
char r[100];
int i, n;

printf("\nUčitaj riječ:");
scanf("%s", &r[0]);

n=strlen(r);

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


if(r[0]=='s' || r[0]=='S')
printf("%c ", r[i]);
else
printf("\n%c", r[i]);

return;
}

26. Učitati 8 znakova u polje, jedan po jedan. Koliko je među učitanim znakovima znakova
brojeva ('0' do '9').
#include <stdio.h>
void main() {
char r[8];
int i, brojac=0;

for(i=0; i<8; i++) {


printf("Učitaj %d. znak:", i+1);
scanf(" %c", &r[i]);
}

for(i=0; i<8; i++)


if(r[i]>='0' && r[i]<='9')
brojac++;

printf("\nUpisanih znakova brojeva ima %d", brojac);


return;
}

27. Učitati 10 brojeva u polje i sabrati parne brojeve koristeći pokazivače.


#include <stdio.h>

void main() {
int a[10], i, zbir = 0, *pa;

pa = &a[0];
for (i = 0; i < 10; i++) {
printf("\nUčitaj %d broj", i + 1);
scanf("%d", pa + i);
}
for (i = 0; i < 10; i++) {
if (*(pa + i) % 2 == 0)
zbir += *(pa + i);
}
printf("\Zbir parnih brojeva je %d", zbir);
return;
}

28. Ispis prirodnih brojeve od 3 do 8 unazad.


#include <stdio.h>

int main ()
{
int i=8;
do
{
printf("%d\n", i);
i--;
}while (i>=3);
return 0;
}

29. Napisati program koji ispisuje u prvom redu jedno ime a zatim u svakom narednom po
jedno ime više.
#include <stdio.h>

int main()
{
int i, j;

i = 1;
do {
j = 1;
do {
if (j <= i)
printf("IME ");

j++;
} while (j <= 3);
printf("\n");
i++;
} while (i <= 3);
return 0;
}
30. Napisati program za ispis dvostruke vrijednosti prvih n prirodnih brojeva.
#include <stdio.h>
int main ()
{
int i=1, n;
printf("Do broja: ");
scanf("%d", &n);
while (i<=n)
{
printf("%d\n", 2*i);
i++;
}
return 0;
}

31. Napisati program za određivanje parnosti broja.


#include <math.h>
#include <stdio.h>

int main ()
{
int x;
printf("Unesite variablu x ");
scanf("%d", &x);
if (x%2==0)
printf("Broj je paran! \n");
else
printf("Broj nije paran! \n");

return 0;
}

32. Učitati trocifreni cijeli broj. Ispremještati mu cifre tako da se dobije najveći mogući broj
sastavljen od te tri cifre. Npr. 476 ==> 764.
#include <stdio.h>

int main()
{
int broj, j, d, s, t, rezultat;

printf("Trocifren broj: ");


scanf("%d",&broj);

while (broj < 100 || broj > 999) {


printf("Broj mora biti trocifren. Ponovi unos: ");
scanf("%d",&broj);
}
j = broj % 10;
d = (broj / 10);
d = d % 10;
s = broj / 100;

if (j > d) {
t = j;
j = d;
d = t;
}
if (j > s) {
int t = j;
j = s;
s = t;
}
if (d > s) {
t = d;
d = s;
s = t;
}

rezultat = s * 100 + d * 10 + j;
printf("Rezultat: %d", rezultat);

return 0;
}

33. Učitati 2 razlicita cijela broja. Ako su oba parna podijeliti veći sa manjim brojem. Ako su oba
neparna od većeg oduzeti manji broj. Inače sabrati ta dva broja.
#include <stdio.h>

int main()
{
int a, b;

printf("Ucitati dva razlicita cijela broja trougla \n");


printf("Prvi broj: ");
scanf("%d",&a);

printf("Drugi broj: ");


scanf("%d",&b);
while (a == b) {
printf("Brojevi moraju biti razliciti. Ponovi unos: ");
scanf("%d",&b);
}

if (a%2==0 && b%2==0) // provjera paranosti oba broja


if (a>b) // da li je prvi veci
printf("Oba parna: %d / %d = %f", a, b, (double)a / (double)b);
else
printf("Oba parna: %d / %d = %f", b, a, (double)b / (double)a);
else if (a%2!=0 && b%2!=0) // provjera neparnosti brojeva
if (a>b) // da li je prvi veci
printf("Oba neparna: %d - %d = %d", a, b, a-b);
else
printf("Oba meparna: %d - %d = %d", b, a, b-a);
else // inace nisu ni parni ni neparni
printf("Paran i neparan: %d * %d = %d", a, b, a+b);

return 0;
}

34. Napisati program za prebrojavanje parnih brojeva od k do n.


#include <stdio.h>

int main ()
{
Int I, k,n,br=0;
printf("Od broja: ");
scanf ("%d", &k);
printf("Do broja: ");
scanf ("%d", &n);

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


{
if (i%2 == 0)
br++;
}
printf("Parnih brojeva u datom intervalu ima: %d", br);
return 0;
}
35. Učitati članove niza. Izračunati i ispisati proizvod članova niza sa parnim indeksom.
#include <stdio.h>

int main()
{

int i, p, n;
printf("Unesi broj elemenata niza: ");
scanf("%d", &n);
int niz[n]; // rezervisanje prostora za niz - ARRAY

for ( i = 0; i < n; i++ ) {


scanf ("%d", &niz[i]); // ulaz clanova niza
}

p = 1; // pocetna vrijednsot proizvoda


for ( i = 0; i < n; i+=2 )
{
p = p * niz[i];
}
printf("\nProizvod clanova niza = %d", p);

return 0;
}

36. Učitati članove niza. Izračunati i ispisati broj parnih i neparnih članova niza odvojeno.
#include <stdio.h>

int main()
{
int i,n,parni=0,neparni=0;

printf("Unesi broj elemenata niza: ");


scanf("%d", &n);
int iNiz[n];

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


for(i=0; i < n; i++)
{
scanf("%d", &iNiz[i]);
if (iNiz[i] % 2 == 0)
{
parni+=1 ;
}
else if (iNiz[i] % 2 != 0)
neparni+=1;
}

printf("broj parnih ");


printf("%d", parni);
printf("\nbroj neparnih ");
printf("%d", neparni);

return 0;
}

37.Učitati 2 cijela broja i izračunati im zbir, razliku, proizvod i količnik. Ispisati one rezultate koji
su trocifreni.
#include <stdio.h>
int main ()
{
int a, b, razlika, zbir;
double proizvod, kolicnik;
printf("Prvi broj: ");
scanf("%d",&a);
printf("Drugi broj ");
scanf("%d",&b);

proizvod = a * b;
razlika = a - b;
zbir = a + b;
if (zbir > 99 && zbir < 1000)
printf("Zbir = %d \n", zbir);
if (razlika > 99 && razlika < 1000)
printf("Razlika = %d \n", razlika);
if (proizvod > 99 && proizvod < 1000)
printf("Proizvod = %f \n", proizvod);

if (b != 0)
{
kolicnik = (double)a / b;
if (kolicnik > 99 && kolicnik < 1000)
printf("Kolicnik = %f \n", kolicnik);
}
else
printf("Nije moguce dijeliti sa 0");

return 0;
}

38.Ucitati niz pa ispisati prvo negativne, pa ostale članove niza. Ispisati članove niza tek poslije
sortiranja.
#include <stdio.h>

int main()
{
int n;
int i;
printf("Unesi broj elemenata niza: ");
scanf("%d", &n);
int A[n];
printf("\nUnesi elemente: \n");
for(i=0; i < n; i++)
{
scanf("%d", &A[i]);
}
int j;
int iTemp;
for(i=0; i < n-1; i++)
{
for(j=i+1; j < n; j++)
{
if(A[j] < 0)
{
iTemp=A[j];
A[j]=A[i];
A[i]=iTemp;
}
}
}
printf("\nIspis niza, prvo negativni:\n");
for(i=0; i < n;i++)
{
printf("%d ", A[i]);
}
return 0;
}

39.Učitati i ispisati dvodimenzionalni niz - matricu nxn. Zatim ispisati članove niza koji su na
glavnoj dijagonali.
#include <stdio.h>

int main()
{
printf("Unesite dimenzije kvadratne matrice:\n");
int i;
int j;
int n;

scanf("%d", &n);
int iMatrica[n][n];
printf("Unesite elemente matrice: \n");
for(i=0; i < n; i++) {
for(j=0; j < n; j++) {
scanf("%d", &iMatrica[i][j]);
}
}

printf("\nIspis matrice:\n");
for(i=0; i < n; i++) {
for(j=0; j < n; j++) {
if(i==j) {
printf("%d ", iMatrica[i][j]);
}
}
printf("\n");
}
return 0;
}

40.Napisati funkciju koja izračunava faktorijel datog broja.


#include<stdio.h>
int faktorijel(int broj)
{
int i, fakt=1;

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


fakt *= i;
printf("faktorijel broja %d je %d",broj ,fakt);
}
int main() {
int a;
printf("Unesi broj: ");
scanf("%d", &a);
faktorijel(a);
}

41.Učitati niz karaktera sa tastature i odrediti mu dužinu.


#include<stdio.h>
int main() {
char niz[10];
printf("Unesi rijec: ");
scanf("%s", &niz);
int i, duzina = 0;
for(i=0; niz[i] != '\0'; i++)
duzina++;
printf("%d", duzina);

42. Ucitati niz I proveriti da li on sadzi slovo.


#include <stdio.h>
#include <string.h>

void main() {
char r[100];
int i=0, brojac=0, n;

printf("\nUčitaj riječ:");
scanf("%s", &r[0]);

n = strlen(r);

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


if(r[i]=='z' || r[i]=='Z')
brojac++;
printf("\nRiječ %s sadrži %d puta slovo \'z\'", r, brojac);

return;
}

43. Napisati rekurzivnu funkciju koja računa sumu cifara datog cijelog broja n.
#include <stdio.h>

int suma_cifara(int n) {
if(n < 10) return n;
return n%10 + suma_cifara(n / 10);
}

int main (){


printf("Suma cifara datog broja - Rekurzija\n");
int broj_n, s;

printf("Broj: ");
scanf("%d",&broj_n);

s = suma_cifara(broj_n);

printf("Dati broj %d ima sumu cifara %d ", broj_n, s);


return 0;
}

44. Napisati rekurzivnu funkciju za računanje sume prvih 5 brojeva.


#include <stdio.h>
int suma(int n) {
if(n <= 1)
return 1;
return n + suma(n-1);
}
int main (){
printf("Suma prvih 5 brojeva . Rekurzija\n");
int s;
s = suma(5);
printf("Suma brojeva od 1 do 5 = %d", s);
return 0;
}

45. Sa tastature ucitati string i na unijeti string dodati karaktere K,R,A,J.


#include <stdio.h>
#include <string.h>

int main()
{
char str[50];
char ch1= 'K' ;
char ch2= 'R' ;
char ch3= 'A' ;
char ch4= 'J';
printf("Prvobitni string: ");
scanf("%s",str);
strncat(str, &ch1, 1);
strncat(str, &ch2, 1);
strncat(str, &ch3, 1);
strncat(str, &ch4, 1);
printf("Novi string: %s\n", str);

return 0;
}

46.Napraviti program koji stampa piramidu koristeci karakter ‘*’.


#include <stdio.h>
int main()
{
int i, j, visina;
printf("Ucitati visinu piramide : \n");
scanf("%d", &visina);
for (i = 1; i <= visina; i++) {
for (j = i; j < visina; j++) {
printf(" ");
}
for (j = 1; j <= (2 * i - 1); j++) {
printf("*");
}
printf("\n");
}
return 0;
}

You might also like