FUNKCIJE U PROGRAMSKOM JEZIKU C/C++
1. Zamena mesta
2. Da li je broj prost
3. Ispisivanje niza
4. Izdvajanje parnih elemenata niza
5. Broj ponavljanja određenog karaktera
6. Računanje faktorijela od n
Uneti broj, npr. 5. Pozvati novu funkciju koja računa faktorijel i proslediti joj n kao paramtar. Funkcija Faktorijel: Proveriti da li je n nula i ako jeste vratiti nulu. U nastavku kreirati proizvod kroz petlju,tako da se u svakom ciklusu prethodni proizvod pomnoži sa tekućom vrednošću kontrolne promenljive i. Namestiti da se kontrolna promenljiva umanjuje za 1, počev od n, pa do nule.
/*Rešenje za programski jezik C*/
int faktorijel(int n)
{
{
int f=1;
for(int i = n; i > 0; i--)
{
return f;
int main()
{
printf("Unesite neki broj n\n");
scanf("%d",&n);
if(n > 0)
{
printf("Faktorijel iznosi %d\n",f);
else
{
return 0;
7. Zbir faktorijela prvih n prirodnih brojeva
8. Dnevnice
Primer:
Ulaz:
12_2_2021 2045.33
23_8_2021 1034.66
15_4_2021 1567.99
Izlaz:
Niz1:
12.02.2021
23.08.2021
15.04.2021
Niz2:
2045.31
1034.66
1567.99
9. Logovanje
Primer:
Ulaz:
Uneste vaše korisničko ime i šifru:
"Mika"
"korisnik1"
Ponovite unos netačna lozinka
"admin"
"korisnik"
Izlaz:
Korisnik je uspešno ulogovan
10. Određivanje maksimuma
Učitati dva cela broja i odrediti njihov maksimum koristeći prethodno definisanu funkciju.
Kreirati funkciju "maksimum()", koja kao parametre prima dva cela broja, a i b, a zatim, unutar funkcije ispitati koji je od njih veći.
Ako je "a" veći, funkcija treba kao povratnu vrednost da vrati podatak "a", a u suprotnom "b".
Unutar glavne(main) funkcije, uneti dva cela broja, a zatim pozvati prethodno kreiranu funkciju za određivanje maksimuma, da bi se on odredio. Odštampati tu vrednost u nastavku programa.
/*Rešenje za programski jezik C*/
int maksimum(int a, int b)
{
{
else
{
int main()
{
printf("a=?,b=?\n");
scanf("%d%d",&a,&b);
maxAB = maximum(a,b);
printf("Maksimum je %d",maxAB);
return 0;
11. Određivanje da li je broj prost
Učitati ceo broj i odrediti da li je prost koristeći prethodno definisanu funkciju.
Više o prostim brojevima pročitajte na web strani: Prosti brojevi i faktorizacija
/*Rešenje za programski jezik C*/
int prost(int a)
{
if(a==1 || a==2){
int d=2;
while(d < a){
break;
d++;
int main()
{
printf("x=?\n");
scanf("%d",&x);
if(prost(x)){
else{
return 0;
12. Ispisivanje bitova sa leva na desno
Kreirati funkciju "bitovi()", koja kao parametar prima ceo broj "a".
Unutar funkcije upotrebom petlje kreirati stepene broja 2, počev od 215, a zatim smanjivati izložilac kroz cikluse.
Ispitati u svakom ciklusu, da li je taj stepen broja dva manji od ostatka broja, koji je u početku jednak celom poslatom broju "a".
Ako jeste, štampati 1 kao bit, ako nije štampati nulu. Preračunati ostatak broja koji ostane kad od prethodnog ostatka oduzmemo trenutni stepen broja 2.
U glavnoj "main" funkciji pozvati prethodno napravljenu funkciju da se izvrši.
/*Rešenje za programski jezik C*/
int bitovi(int a)
{
for(int i = 15;i >= 0;i--){
if(a <= ost){
ost=ost % a; //a=4, ost=7%4=3; a=2, ost=3%2=1; a=1, ost=1%1=0
else{
printf("\n");
int main()
{
printf("x=?\n");
scanf("%d",&x);
bitovi(x);
return 0;
13. Zaokruživanje na K decimala.
Učitati tri cela broja M,N i K.(npr. 13,3,2)
Naći količnik M/N,(npr.13/3=4.333333), a kao tip podataka odabrati double ili float, kako bi se sačuvale decimale.
Dobijeni broj pomnožiti sa 10K, a zatim taj broj pretvoriti u ceo broj, kako bi on sadržao i cifre rezultata i cifre koje treba da budu prikazane posle decimalne tačke(npr. 433).
Izvući iz ovog broja i celobrojni rezultat, deljenjem sa 10K, kao i decimalni deo traženjem ostatka deljenja sa 10K.
Ispisati prvo celobrojni deo, zatim staviti "." i u nastavku dodati decimalni deo.
/*Rešenje za programski jezik C*/
int main()
{
double rezD;
printf("M=?,N=?,K=?\n");
scanf("%d%d%d",&M,&N,&K); //13,3,2
rezD=(double)M/N; //4.333333
printf("rez=%f\n",rezD);
koef=(int)pow(10,K); //100
rez=rezD*koef; //433
rezD=(double)rez/koef; //4.3300000
printf("rez=%g\n",rezD);
int br,dec;
br=rez/koef;//4
dec=rez%koef;//33
printf("%d.%d\n",br,dec);
14. Računanje kombinacija.
S=Cn k-Cn k+1 +..+(-1)p*Cn k+p,
po formuli za računanje kombinacija
15. Bit na zadatoj poziciji.
16. Broj u inverznom poretku.
312 * 221 = 68952
213 * 122 = 25986
17. Najbliži broj koji zadovoljava uslov.
n+S(n)+S(S(n))+S(S(S(n)))+S(S(....S(n)....)=2003
18. Slova u novom poretku.
"MILOSCGRABDEFHJKNPQTUVWXYZ"
a) Napisati funkciju koja prema novom poretku slova poredi dva stringa
b) testirati funkciju tako što će se niz imena novoimenovanih ambasadora štampati u poretku definisanom po novom alfabetu
Prethodno
|< Matrice primeri |
Sledeće
Algoritmi-primeri >| |