Professional Documents
Culture Documents
//
Oba broja se unose sa tastature
///////////////////////////////////////////////////////////////////////
#include <stdio.h>
main()
{
int a, n, i=1, stepen=1;
// poruka korisniku printf("Unesite broj a: ");
// unos broja a
scanf("%d",&a);
// poruka korisniku
printf("Unesite broj n: ");
// unos broja n
scanf("%d",&n);
// izracunavanje n-tog stepena broja a while(i<=n)
{
stepen*=a; i++;
}
// ispis n-tog stepena
printf("Broj %d na %d-ti stepen je : %d\n",a,n,stepen);
}
2. Program za izracunavanje sume prirodnih brojeva od 1 do n.
//
Broj n se unosi sa tastature.
///////////////////////////////////////////////////////////////////
#include <stdio.h>
main() {
int suma=0, n, i=1;
// unos broja n printf("Unesite ceo broj n do koga zelite sumu: ");
scanf("%d",&n);
// izracunavanje sume while(i <= n)
{
suma+= i;
i++;
}
// ispis sume prirodnih brojeva
printf("Suma prirodnih brojeva od 1 do %d je: %d\n",n,suma);
}
3. Program za izracunavanje zbira kvadrata prvih n brojeva.
//
Unos broja n vrsi se sa tastature
///////////////////////////////////////////////////////////////////////
#include <stdio.h>
main()
{
int suma=0, n, i=1;
// unos broja n
printf("Unesite ceo broj n: ");
scanf("%d",&n);
// izracunavanje sume kvadrata
while(i <= n)
{
suma+= i*i;
i++;
}
// ispis sume prirodnih brojeva
printf("Suma kvadrata prirodnih brojeva od 1 do %d je: %d\n",n,suma);
}
4. Program za izracunavanje sume kvadrata parnih
//
brojeva u opsegu od broja n do broja m.
//
Brojevi n i m se unose sa tastature (n<m)
///////////////////////////////////////////////////////////////////////
#include <stdio.h>
main()
{
int suma=0,n,m,i;
// unos brojeva n i m printf("Unesite cele brojeve n i m:\n");
scanf("%d %d",&n,&m);
// izracunavanje sume kvadrata
i=n;
while(i <= m)
{
// provera za parne brojeve
if(i%2 == 0)
suma+= i*i;
i++;
}
// ispis rezultata printf("Suma kvadrata parnih brojeva od %d do %d je
%d\n",n,m,suma);
}
5. Program za izracunavanje faktorijela
//
n! = n*(n-1)*(n-2)*....*2*1.
//
Broj n se unosi sa tastature
///////////////////////////////////////////////////////////////////////
#include <stdio.h>
main()
{
int i,n;
long faktorijel=1;
// unos broja za izracunavanje faktorijela
printf("Unesite ceo broj n: ");
scanf("%d",&n);
// izracunavanje faktorijela for(i=1;i<=n;i++)
{
faktorijel=faktorijel*i;
}
// ispis rezultata faktorijela
printf("Faktorijel = %ld\n", faktorijel);
}
6. Program za nalazenje svih trocifrenih brojeva koji su jednaki
//
zbiru kubova svojih cifara, abc = a3+ b3+c3
///////////////////////////////////////////////////////////////////////
#include <stdio.h>
#include <math.h>
#define KUB 3
main()
{
int a,b,c,m;
double k;
printf("Trocifreni brojevi koji su jednaki zbiru kubova svojih cifara su:\n");
//petlja za prolazak kroz sve trocifrene brojeve
for(m=100;m<999;m++)
{
a = m/100; //cifra ne mestu stotica
b = m%100/10; //cifra ne mestu desetica
c = m%10; //cifra ne mestu jedinica
k = pow(a,KUB) + pow(b,KUB) + pow(c,KUB); //izracunavanje kubova
if(m == k)
//stampaj brojeve
printf("%d ",m);
}
printf("\n");
}
7. Program kojim se stampaju svi stepeni broja 2 koji
//
nisu veci od unapred zadate granice koja je veca od broja 2
///////////////////////////////////////////////////////////////////////
#include <stdio.h>
main()
{
int stepen,granica;
// unos granice ispisa
printf("Unesite granicu ispisa: ");
scanf("%d",&granica);
stepen=1;
do
{
printf(" %d\n",stepen);
stepen*=2;
}
while(stepen <=granica);
}
8. Program za ucitavanje n realnih brojeva i stampanje
//
najveceg i najmanjeg broja
///////////////////////////////////////////////////////////////////////
#include <stdio.h>
main()
{
int n=1;
int i; double a, min, max;
// spoljasnja petlja
while(n>0)
{
// poruka korisniku
printf("Koliko brojeva zelite da unesete? n= ");
scanf("%d",&n);
//unos prvog broja
printf("Unesite prvi realan broj:\t ");
scanf("%lf",&a);
min = max = a;
// poredjenje svakog sledeceg broja sa min i max
{
printf("Unesite sledeci realan broj:\t");
scanf("%lf",&a);
if(a < min) min = a;
if(a > max) max = a;
}
// stampanje brojeva
printf("Minimum = %f\n",min);
printf("Maximum = %f\n",max);
printf("Da li zelite novi unos?\n");
citajNiz(x,n);
//funkcija za sortiranje niza
sortiraj(x,n);
//ispisivanje sortiranog nizaprintf("Sortirani
pisiNiz(x,n);
}
void citajNiz(int x[], int n)
{
int i;
for(i=0;i<n;i++)
{
printf("x[%d]=",i);
scanf("%d",&x[i]);
}
}
void pisiNiz(int x[], int n)
{
int i;
niz je:\n");
for(i=0;i<n;i++)
{
printf("x[%d]=%d",i,x[i]);
printf("\n");
}
}
void razmeni(int*a,int*b)
{
int temp;
temp=*a;
*a=*b;
*b=temp;
}
void sortiraj(int*a,int n)
{
int i,j;
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(*(a+i)>*(a+j))
razmeni (a+i, a+j);
}
}
}
11. Program za izracunavanje zbira kvadrata prvih n prirodnih brojeva,
//
uz upotrebu posebne funkcije. Unos broja n vrsi se sa tastature
///////////////////////////////////////////////////////////////////////
#include <stdio.h>
void zbirKvadrata(int n);
main()
{
int x;
printf ("Unesite broj do kojeg zelite zbir kvadrata:\n");
scanf("%d", &x);
zbirKvadrata(x);
}
//funkcija koja vrsi izracunavanje zbira kvadrata prvih n brojeva
void zbirKvadrata(int n)
{
int i, zbir=0;
// provera da li je unet broj manji od 1 if(n<=1)
{
printf("Morate uneti broj veci od 1\n");
return;
}
for(i=1; i<=n; ++i)
{
zbir += i*i;
}
printf("Zbir kvadrata brojeva od 1 do %d je %d\n",n, zbir);
12. Program za konverziju dekadnog broja u binarni
//
unos dekadnog broja vrsi se sa tastature
///////////////////////////////////////////////////////////////////////
#include <stdio.h>
void decBin (int dec);
main ()
{
int number;
printf("Unesite broj za konverziju: ");
scanf("%d",&number);
decBin (number);
}
// funkcija koja vrsi konverziju
void decBin (int dec)
{
// promenjiva za pamcenje ostataka pri deljenju
int offset = 0;
// niz za smestanje binarnog broja
int binaryValue [40];
while (dec!= 0)
{
binaryValue [offset] = dec % 2;
dec /= 2;
offset++;
}
offset--;
// ispis rezultata
for(;offset>=0;offset--)
printf("%1d", binaryValue[offset]);
printf("\n");
}
13. Program za prikazivanje fibonacijevog niza od n elemenata.
//
Broj n se unosi sa tastature.
//
F[n] = F[n-1] + F[n-2]; F[0] = 0, F[1] = 1;
///////////////////////////////////////////////////////////////////////
#include <stdio.h>
void Fib (int n);
main()
{
int x;
printf ("Unesite broj do kojeg zelite Fibonacijev niz: ");
scanf("%d", &x);
Fib (x);
}
// funkcija koja vrsi izracunavanje i prikaz fib. niza
void Fib (int n)
{
int i;
int score;
int last = 1;
int nextToLast = 0;
if (n<=0)
{
printf("Morate uneti broj veci od 0\n");
return;
}
printf("F[0] je: 0\n");
printf("F[1] je: 1\n");
for (i=2; i<n; ++i)
{
score = last + nextToLast;
nextToLast = last;
last = score;
printf ("F[%d] je: %d\n", i, last);
}
}
14. Program za izracunavanje sume kvadrata neparnih brojeva u opsegu
//
brojeva od n do m, uz upotrebu posebne funkcije.
//
Brojevi n i m se unose sa tastature (n < m)
///////////////////////////////////////////////////////////////////////
#include <stdio.h>
void kvadrati (int k, int r);
main()
{
int n,m;
//ucitavanje broja n
printf("Unesite broj n: ");
scanf("%d",&n);
//ucitavanje broja m
printf("Unesite broj m: ");
scanf("%d",&m);
//poziv funkcije
kvadrati(n,m);
}
//funkcija koja radi izracunavanje
void kvadrati (int k, int r)
{
int i;
int suma=0;
//provera da li je n < m
if (k >= r)
{
printf("Morate uneti broj m koji je veci od n\n");
return;
}
i = k;
while(i <= r) // ukljucujemo i broj m u sumu
{
if(i%2 == 1) // da li je neparan broj
suma+= i*i; // dodaj na sumu kvadrat neparnog broja
i++;
}
printf("Suma kvadrata neparnih brojeva od %d do %d je %d\n",k,r,suma);
}
15. Program za izraunavanje srednje vrednosti onih elemena
// niza celih brojeva koji su deljivi sa tri.
///////////////////////////////////////////////////////////////////////
#include<stdio.h>
main()
{
int
a[100], i, k, n;
double
s;
while(1)
{
// Unesite broj elemenata niza
for(i=0; i<n;
i++)
{
printf("a[%d]: ",i);
scanf("%d",&a[i]);
}
i++)
if(a[i]%3 == 0)
{
s+=a[i];
k++;
}
if(k) s/=k;
printf("s= %.2f\n",s);
}
}
16. Program za sortiranje niza u neopadajucem redosledu.
//
Niz se unosi sa tastature.
///////////////////////////////////////////////////////////////////////
#include <stdio.h>
void citajNiz(int x[],int n);
void pisiNiz(int x[],int n);
main()
{
int n, x[20];
int i,j,temp;
// ucitavanje broja clanova niza
printf("Unesite broj clanova niza: ");
scanf("%d",&n);
if (n>20)
{
printf("Broj clanova niza mora biti manji od 20!\n");
return 1;
}
// poziv funkcije za ucitavanje niza
printf("Unesite niz za sortiranje: \n");
citajNiz(x,n);
// sortiranje niza
for(i=0;i<n;i++) // prolazak kroz sve elemente niza
{
for(j=i+1;j<n;j++) // poredjenje samo sa onim koji su veceg indeksa
{
if(x[i] > x[j]) // poredjenje svih elemenata niza sa datim
{
temp = x[i];
x[i] = x[j];
x[j] = temp;
}
}
}
printf("Redosled u neopadajucem redosledu unetih brojeva:\n");
pisiNiz(x,n);
return 0;
}
// funkcija za ucitavanje niza
void citajNiz(int x[],int n)
{
int i;
for(i=0;i<n;i++)
{
printf("x[%d]=",i);
scanf("%d",&x[i]);
}
}
// funkcija za ispisivanje nizavoid pisiNiz(int x[],int n)
{
int i;
for(i=0;i<n;i++)
{
printf("x[%d]= %d",i,x[i]);
printf("\n");
}
17. Program za izracunavanje i prikazivanje prosecne vrednosti
//
clanova niza i daje izvestaj koji clanovi niza su manji
//
od izracunatog proseka.
//
Niz brojeva se unosi sa tastature
///////////////////////////////////////////////////////////////////////
#include <stdio.h>
#define N 100
main()
{
int i, brojClanova, niz[N];
double prosek, suma=0.;
// poruka korisniku
printf("Koliko clanova zelite da unesete: ");
// unos sa tastature
scanf("%d",&brojClanova);
while(brojClanova > N)
{
// poruka korisniku
printf("Unesite broj clanova niza: ");
// unos sa tastature
scanf("%d",&brojClanova);
}
for (i=0;i<brojClanova;i++)
{
// poruka korisniku
printf("Unesite clan [%d]: ",i+1);
// unos sa tastature
scanf("%d",&niz[i]);
// izracunavanje zbira svih clanova niza
suma+=niz[i];
}
// izracunavanje proseka
prosek=suma/brojClanova;
// stampanje rezultata
printf("Prosek je: %lf\nManji od proseka su:\n",prosek);
for (i=0;i<brojClanova;i++)
{
if (niz[i]<prosek)
{
// stampanje rezultata
printf ("%d ",niz[i]);
}
}
// prelazak u novi red
printf("\n");
}
18. Program za prikazivanje svih parnih brojeva, koji su veci
//
od broja A i manji od broja B.
//
To radi pomocu funkcije koja ima argumente a i b
///////////////////////////////////////////////////////////////////////
#include <stdio.h>
void brojevi(int a, int b);
main()
{
int a, b;
// poruka korisniku
printf("Unesite pozitivne cele brojeve A i B, pri cemu mora da vazi uslov A<B\n");
// poruka korisniku
printf("A = ");
// unos sa tastature
scanf("%d", &a);
while(a<=0)
{
// poruka korisniku
printf("A = ");
// unos sa tastature
scanf("%d", &a);
}
// poruka korisniku
printf("B = ");
// unos sa tastature
scanf("%d", &b);
while(b<=a)
{
// poruka korisniku
printf("B = ");
// unos sa tastature
scanf("%d", &b);
}
// poziv funkcije
brojevi(a,b);
}
void brojevi(int a, int b)
{
int i;
// stampanje rezultata
printf("Izmedju A i B nalaze se sledeci parni brojevi:\n");
for(i=a+1; i<b; i++)
{
if(i%2==0)
// stampanje rezultata
printf("%d\n", i);
}
}
19. Program za izracunavanje i prikazivanje zbira clanova niza
//
sa parnim indeksom i zbira clanova niza sa neparnim indeksom
//
Niz brojeva se unosi sa tastature
///////////////////////////////////////////////////////////////////////
#include <stdio.h>
#define N 50
void zbir(int n);
main()
{
int n;
// poruka korisniku
printf("Koliko clanova niza zelite da unesete?\n");
// unos sa tastature
scanf("%d", &n);
if(n>N)
{
// poruka korisniku
printf("Potrebno je da unesete broj manji od %d.\n", N);
return 1;
}
// poziv funkcije
zbir(n);
return 0;
}
void zbir(int n)
{
int niz[N], parni=0, neparni=0, i;
for(i=0; i<n; i++)
{
// poruka korisniku
printf("clan[%d] = ", i);
// unos sa tastature
scanf("%d", &niz[i]);
if(i%2==0)
parni += niz[i]; // izracunavanje zbira clanova sa parnim indeksom
else
neparni += niz[i]; // izracunavanje zbira clanova sa neparnim indeksom
}
// stampanje rezultata
printf("Zbir clanova niza sa parnim indeksom je %d.\n", parni);
printf("Zbir clanova niza sa neparnim indeksom je %d.\n", neparni);
}
20. Program za izracunavanje zbira cifara bilo kog broja
//
veceg od 1 i manjeg od 1000.
//
Dati broj se unosi sa tastature.
///////////////////////////////////////////////////////////////////////
#include <stdio.h>
main()
{
int n, zbir=0;
// poruka korisniku
printf("Unesite ceo broj, koji je veci od 1 i manji od 1000:\n");
// unos sa tastature
scanf("%d", &n);
if(n<=1 || n>=1000)
{
// poruka korisniku
printf("Potrebno je da unesete broj veci od 1 i manji od 1000.\n");
return 1;
}
zbir += n/100; // zbiru se dodaje cifra koja oznacava stotine
zbir += (n/10)%10; // zbiru se dodaje cifra koja oznacava desetice
zbir += n%10; // zbiru se dodaje cifra koja oznacava jedinice
// stampanje rezultata
printf("Zbir cifara kod broja %d iznosi %d.\n", n, zbir);
return 0;
21. Program za izracunavanje najmanjeg broja od zadata 4 broja,
//
uz koriscenje funkcije koja poredi dva broja.
///////////////////////////////////////////////////////////////////////
#include <stdio.h>
int funkcija(int a, int b); // deklarisanje funkcije, koja vraca celobrojni rezultat
main()
{
int a,b,c,d; // trebaju nam 4 cela broja
printf("Unesite cetiri cela broja:\n"); // poruka korisniku
scanf("%d%d%d%d", &a, &b, &c, &d); // unos trazena 4 cela broja
obrnutom redoslijedu.
Rjeenje
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n, obrnuti = 0;
scanf("%d", &n);
while(n > 0)
{
obrnuti = obrnuti*10 + n % 10;
n /= 10;
}
printf("%d", obrnuti);
return 0;
}
27. Napisati program koji tampa sve trocifrene brojeve
kod kojih je druga cifra za
dva vea od prve a trea za jedan vea od druge.
Rjeenje
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i, j, k;
for(i=1; i<=9; i++)
for(j=3; j<=9; j++)
for(k=4; k<=9; k++)
if(j == i+2 && k == j+1)
printf("%d%d%d\n", i, j, k);
return 0;
28. Napisati funkciju koja ispituje da li je dati broj prost.
Rjeenje
int prost(unsigned int broj)
{
int i;
for(i=2; i<broj; i++)
if(broj % i == 0)
return 0;
return 1;
}
29. Napisati program koji tampa sve prostebrojeve manje
od 1000.
Rjeenje
Ovdje emo iskoristiti funkciju iz prethodnog primjera.
Za svaki broj od 1000
pozivanjem funkcije iz prethodnog primjera emo ispitati
da li je prost.
#include <stdio.h>
#include <stdlib.h>
int prost(unsigned int broj)
{
int i;
for(i=2; i<broj; i++)
if(broj % i == 0)
return 0;
return 1;
}
int main()
{
int i;
for(i=1; i<=1000; i++)
if(prost(i) == 1)
printf("%d\t", i);
return 0;
}
30. Napisati program koji tampa sve prostebrojeve manje
od 1000.
Rjeenje
Ovdje emo iskoristiti funkciju iz prethodnog primjera.
Za svaki broj od 1000
pozivanjem funkcije iz prethodnog primjera emo ispitati
da li je prost.
#include <stdio.h>
#include <stdlib.h>
int prost(unsigned int broj)
{
int i;