Professional Documents
Culture Documents
Uri 08 Ini Poi Uri 08 Ini Poi Uri C LV03
Uri 08 Ini Poi Uri 08 Ini Poi Uri C LV03
/* Zadatak 1:
Napisati C-funkciju sa imenom stepenovanje sa parametrima (x,n) i koja računa x^n
(n-ti stepen broja x). Voditi računa da eksponent n može biti i pozitivan i negativan
broj kao i 0. Napisati glavni program koji za uneseno x uz pomoć navedene funkcije računa
vrijednost izraza: x^7+4*x^3+2*x-5 */
#include<stdio.h>
float stepenovanje(float,int); /*deklaracija funkcije */
main(){
float x,y;
int n;
printf("Unesite realan broj:");
scanf("%f",&x);
y=stepenovanje(x,7)+4*stepenovanje(x,3)+2*x-5;
/* za rješenje izraza pozvali smo funkciju stepenovanje 2 puta sa različitim
parmetrima*/
/* postavjamo y=1 jer nemamo ispitivanja da li je eksponent n==0 već smo ispitivali da li
je n>0 ili n<0
ali ako dva navedena uslova nisu ispunjena neće se odraditi naredbe koje slijede poslije
ovih izraza
već će se vratiti y koje u prvom koraku i ima vrijednost 1 */
if(n>0){
/* za n>0 imamo jedan način traženja stepena nekoga broja a koje se zasniva
na sukcesivnom množenju broja samim sobom ali ograničen broj puta a taj broj
nam određuje eksponent tako da nam je on služio za postavljanje uslova u for
petlji*/
#include<stdio.h>
main(){
float osnova;
int eksponent;
float stepen(float,int);
/* deklaracija funkcije može biti i u main-u, samo je bitno da bude prije poziva
funkcije*/
/*poziv funkcije smo postavili u printf naredbi jer tek tada nam je trebao njen
rezultat, poziv funkcije postavljamo kada nam treba njen rezultat za izvršenje drugih
naredbi, također vrijednost funkcije možemo dodjeliti nekoj varijabli (koja prethodno
treba biti deklarisana) pa poslije raditi sa tom varijablom ukoliko ne želimo kao u ovom
primjeru da u printf naredbi pozivamo funkciju*/
system("PAUSE");
}
/* Zadatak 3
Napisati funkciju koja kao rezultat daje apsolutnu vrijednost broja. */
#include<stdio.h>
double apsolutno(double); /* delaracija funkcije*/
main(){
double i;
printf("Unesite broj ciju apsolutnu vrijednost trazite:");
scanf("%lf",&i);
printf("Apsolutna vrijednost broja %.2lf je %.2lf",i ,apsolutno(i));
system("PAUSE");
}
return -x;
/* u suprotnom imamo - ispred x ali x je već negativano pa imamo -(-x)->x */
}
/* Zadatak 4
Napisati funkciju koja uzima tri argumenta: karakter i dva cijela broja. Karakter
predstavlja znak koji treba biti odštampan. Prvi cio broj određuje koliko će puta
taj karakter biti odštampan u liniji,a drugi određuje broj linija koje treba odštampati
na taj način. Napisati program koji koristi ovu funkciju
*/
#include<stdio.h>
void ispis_znaka(char znak,int kolona,int red);/*deklaracoija funkcije*/
main(){
char znak;
int kolona,red;
{
/*sljdeći blok naredni se izvrašava ukoliko je unešeni znak različit od #*/
if(znak=='\n')
continue;
/* za slučaj unusa enter ponovo neće nam ponditi unos broja redova i kolona
jer čeka znak*/
/*ukoliko se unese znak umjesto broja ili neki rugi nedefinisani broj
parametara iskače se iz while petlje*/
ispis_znaka(znak,kolona,red);
printf("\nUnesite naredni znak(# za kraj):");
}
printf("Kraj!\n");
system("PAUSE");
}
void ispis_znaka(char znak,int kolona,int red)
{
int kol,r;
/*uvode se nove 2 varijable tipa int koje će nam biti brojači za naše dvije petlje
koje su nam potrebne za rješavanje problema*/
/*vanjska petlja za čiju jednu iteraciju treba da se izvrše sve iteracije unutrašnje
petlje tj. za prvi red treba da se ispise unešeni znak onoliko koliko smo odabrali kolona
to radimo preko unutrašnje petlje koja ima brojač kol i koja će se izvršavati sve dok je
kol manje od broja kolona, nakon čega će se preskočiti naredba putchar(znak); i odraditi
putchar('\n') jer nakon ispisa znaka onoliko puta koliko je kolona potrebno je enterom
preći u novi red,povećati brojač vanjske petlje(r) ispituje uslov r<red ukoliko je
ispunjen ponovo idemo u unutrašnju petlju*/
{
for(kol=0; kol<kolona; kol++)
putchar(znak);
/* Zadatak5
Napisati ekurzivnu funkciju čiji je prototip sumanep(int), koja izračunava sumu
neparnih brojeva do zadanog (u glavnoj funkciji) prirodnog broja n. U glavnoj
funkciji napisati rezultat.
*/
#include<stdio.h>
int sumanep(int); /*deklaracija funkcija*/
main(){
int broj,suma;
printf("\nUnesite prirodan broj:");
scanf("%d",&broj);
if(broj%2==0) /*ispitivanje da li je unešeni broj parn*/
broj--; /*ukoliko jeste umanjujemo ga za 1 i dobivamo neparn broj*/
suma=sumanep(broj); /*poziv funkcije kojoj prosljeđujemo neparan broj*/
printf("\nSuma neparnih brojeva do%d je %d!",broj,suma);
system("PAUSE");
}