You are on page 1of 5

ÌÓÈÑ-ÕØÓÈÑ ÌÊÓÒ

1 Õýðýãëýã÷èéí òîäîðõîéëñîí ôóíêö³³ä


Òîäîðõîé íýãýí äààëãàâðûã ã³éöýòãýõ íýã íýãæ áîëæ ýìõòãýãäñýí ïðîãðàìûí òóøààëóóäûí

äàðààëëûã ôóíêö ãýíý. Ýíý íýã íýãæ íü òóõàéí äààëãàâàð ã³éöýòãýãäýõ áîëãîíä ïðîãðàìä

õýðýãëýãäýíý.

1.1 Ôóíêö çàðëàõ

ßìàð íýãýí ôóíêöèéã õýðýãëýõýä òóõàéí ôóíêö çààâàë °ìí° íü çàðëàãäñàí áàéõ ¼ñòîé. Õàðèí

òóõàéí ôóíêöèéí òîäîðõîéëîëòûã ïðîãðàìûí õààíà ÷ õèéæ áîëîõ þì.

ijðýì:

áóöààõ_ò°ð°ë íýð(ò°ð°ë ïàðàìåòð1, ò°ð°ë ïàðàìåòð2, ...);


Ýíä

áóöààõ_ò°ð°ë íü òóõàéí ôóíêö õýðâýý ÿìàð íýãýí óòãà return ò³ëõ³³ð ³ãèéã àøèãëàí áó-

öààæ áàéâàë áóöààæ áàéãàà óòãûí ò°ð°ë þì. Õýðâýý ÿìàð ÷ óòãà áóöààäàãã³é áîë ò°ð°ë

íü void áàéíà. int main() ôóíêö á³õýë òîîí óòãà áóöààäàã ó÷ðààñ áóöààõ_ò°ð°ë íü int
áàéíà.

íýð íü òóõàéí íýãæèéã íýðëýõ íýð á°ã°°ä ôóíêöèéã äóóäàí ïðîãðàìä õýðýãëýõýä õýðýãëýãäý-
íý.

ïàðàìåòð³³ä íü òóõàéí ôóíêöèéã õýðýãëýõèéí òóëä ò³³íä óòãà äàìæóóëàõ øààðäëàãàòàé


áîë ýíä òîäîðõîéëíî. Ýíä çàðëàãäñàí óòãóóä ç°âõ°í òóõàéí ôóíêöèéí õ³ðýýíä ë àøèã-

ëàãäàõ áà ôóíêö äóóñàõàä óñòàíà. Ôóíêöèéã çàðëàõàä ïàðàìåòð³³äèéí ç°âõ°í ò°ðëèéã

íü òàâüæ, íýðèéã íü òàâèõã³é áàéæ áîëäîã. Õàðèí ôóíêöýý òîäîðõîéëîõäîî çààâàë íýð

ò°ðëèéã íü òàâèõ øààðäëàãàòàé. Æèøýý íü:

int max ( int , int ) ; // hoyr toonii ihiig butsaah

1.2 Ôóíêö òîäîðõîéëîõ

Ôóíêöèéã °ìí° íü çàðëàñàí áîë ò³³íèéã õààíà ÷ òîäîðõîéëæ áîëíî. Ôóíêöèéã òîäîðõîéëîõîä

ôóíêöèéí áóöààõ óòãà, íýð, ïàðàìåòð³³äèéí òîî øèðõýã, ò°ð°ë íü °ìí° íü çàðëàñàíòàéãàà

ÿã òààð÷ áàéõ ¼ñòîé. Õàðèí ýíý óäàà ïàðàìåòð³³äèéí íýðèéã çààâàë òàâüæ òýäãýýðèéã çàðëàõ

¼ñòîé. Ïàðàìåòð³³äèéã çàðëàñíû äàðàà äóãóé õààëòàà õààí ôóíêöèéí ã³éöýòãýõ ³éëäë³³äèéã

áàãö êîìàíäûí õààëòàí äîòîð áè÷íý. Õýðýâ òîäîðõîéëæ áóé ôóíêö óòãà áóöààäàã ôóíêö áîë

çààâàë áóöààõ ò°ðëèéíõ°° óòãûã áóöààõ ¼ñòîé. Æèøýý íü int ò°ðëèéí óòãà áóöààäàã áîë á³õýë

òîî, int * ò°ðëèéí óòãà áóöààõ áîë á³õýë òîîí ò°ðëèéí õàÿã áóöààíà ãýñýí ³ã þì.

ijðýì:

áóöààõ_ò°ð°ë íýð(ò°ð°ë ïàðàìåòð1, ò°ð°ë ïàðàìåòð2, ...) {


// ôóíêöèéí ã³éöýòãýõ
// ³éëäë³³ä
}
ÌÓÈÑ-ÕØÓÈÑ ÌÊÓÒ

Ôóíêö äîòîð çàðëàãäñàí á³õèé ë õóâüñàã÷èä òóõàéí ôóíêö õýðýãëýãäýõ ³åä ³³ñýæ, äóóñàõ

³åä á³ãä óñòäàã. Òèéìýýñ ôóíêöèéí äîòîîä õóâüñàã÷èä òóõàéí ôóíêöèéí õ³ðýýíäýý ë õýðýã-

ëýãäýíý. Ôóíêö àëü áîëîõîîð ôóíêöèéí ãàäíà õóâüñàã÷óóäààñ õàìààðàëã³é áàéõ ¼ñòîé. Ýíý

íü õàìààðàëòàé óòãóóäàà ïàðàìåòðýýðýý àâ÷ àøèãëàâàë, ôóíêö ÿìàð íýãýí ãàäààä í°õö°ë°°ñ

õàìààðàëã³é áîëíî ãýñýí ³ã þì.

1.3 Ôóíêöèéã õýðýãëýõ

Ôóíêöèéã õýðýãëýõäýý òóõàéí ôóíêöèéã íýðýýð íü äóóäàí õýðýãëýíý. Õýðýâ òóõàéí ôóíêö

ïàðàìåòðòýé ôóíêö áîë ïàðàìåòð³³äýä íü òîõèðñîí óòãûã äàðààëëààð íü áè÷èæ °ãí°.

Õýðýâ äóóäàæ áóé ôóíêö óòãà áóöààäàã ôóíêö áîë áóöààñàí óòãûã óòãà îíîîõ îïåðàòîðààð

õóâüñàã÷èä õàäãàëíà.

ijðýì:

õóâüñàã÷ = ôóíêöèéí_íýð(óòãà1, óòãà2, ...);


Ýíä

õóâüñàã÷ òóõàéí ôóíêöèéí áóöààñàí óòãûã õàäãàëàõ õóâüñàã÷.

ôóíêöèéí_íýð äóóäàæ áàéãàà ôóíêöèéí íýð.

óòãà1, óòãà2, ... òóõàéí ôóíêöèéí ïàðàìåòð³³äýä äàìæóóëæ áàéãàà óòãóóä. Óòãóóäûíõ íü
òîî, ò°ð°ë íü äóóäàæ áàéãàà ôóíêöèéíõýý ïàðàìåòð³³äèéí òîî, ò°ð°ëòýé íü òýíöýæ áàéõ

¼ñòîé.

Æèøýý 1: Õî¼ð òîîíû èõèéã îëäîã ôóíêö.

# include < stdio .h >


int max ( int , int ) ;
int main () {
int x , y ;
scanf ( " % d % d " , &x , & y ) ;
printf ( " % d \ n " , max (x , y ) ) ; // funktsiin damjuulsan utgiig
// shuud hevlene
return 0;
}

// doorh a , b ni main () dotorh a , b - ees yalgaatai


int max ( int a , int b ) {
if ( a > b )
return a ;

return b ;
}

Æèøýý 2: Ôóíêöð³³ äàìæóóëñàí òîî àíõíû òîî ì°í áîë íýãèéã, ³ã³é áîë òýãèéã áóöààäàã

ôóíêö.

# include < stdio .h >


int prime ( int ) ;
ÌÓÈÑ-ÕØÓÈÑ ÌÊÓÒ

int main () {
int k ;
scanf ( " % d " , & k ) ;
// k - iin utgiig prime - ruu damjuulj , herev
// 1 - iig butsaaval k ni anhnii too
// 0 - iig butsaaval k ni anhnii too bish
if ( prime ( k ) == 1)
printf ( " % d ahnii too \ n " , k ) ;
else
printf ( " % d ahnii too bish \ n " , k ) ;

return 0;
}

int prime ( int n ) {


int i ;
for ( i = 2; i < n ; i ++) {
if ( n % i == 0) // huvaagdval shuud 0 - iig butsaa
return 0; // tsaash ni urgeljluulj shalgah hereg bhgui
}

// end hurvel n ni anhnii too mon


// bish baisan bol deerh uyd ali hediin tegiig butsaasan bna .
return 1;
}

1.4 Äàñãàëóóä

1.4.1 Àíãèä

1. Òýãø áîë 1, ñîíäãîé áîë 0-ã áóöààõ äîîðõ ôóíêöèéã òîäîðõîéë.

int is_even ( int ) ;

n òîîã ãàðààñ àâ÷, n õ³ðòýëõ á³õ ñîíäãîé òîîíóóäûã õýâëýí õàðóóëàõàä äýýðõ ôóíêöèéã

àøèãëà.

2. 3 òîîíû áàãûã áóöààäàã ôóíêöèéã òîäîðõîéë.

int min5 ( int , int , int ) ;

3. Äàðààõ ôóíêö íü õ³ñíýãòýä n øèðõýã òîîã ãàðààñ àâ÷ õàäãàëàõ ôóíêö áîë ³³íòýé àäèëààð
õ³ñíýãòèéí ýëåìåíò³³äèéã õýâëýõ print ôóíêöèéã áè÷.

void read ( int a [] , int n )


{
int i ;
for ( i = 0; i < n ; i ++)
scanf ( " % d " , & a [ i ]) ;
}
void print ( int a [] , int n )
{
ÌÓÈÑ-ÕØÓÈÑ ÌÊÓÒ

Äýýðõ õî¼ð ôóíêöèéã àøèãëàí A, B õî¼ð õ³ñíýãòýä òóñ á³ð 5, 3 øèðõýã óòãà ãàðààñ àâ÷

õýâëýí õàðóóë.

4. Õ³ñíýãòýä áàéãàà ýëåìåíò³³äèéí òîî °ã°ãä°õ°ä õàìãèéí õ³ñíýãòèéí ýëåìåíò³³äýýñ õàì-

ãèéí èõèéã íü îëîõ ôóíêöèéã áè÷.

int max ( int a [] , int n ) ;

ìí°õ äàñãàëàà àøèãëàí A, B õ³ñíýãòèéí õàìãèéí èõ ýëåìåíò³³äèéã õàðüöóóëàí àëü

õ³ñíýãò õàìãèéí òîì òîîã àãóóëæ áàéãààã îë.

5. Äîîðõ an -èéã îëäîã ôóíêöèéí àëäààíóóäûã çàñ.

# include < stdio .h >


int t = 1;
int main () {
int n , a ;
// a , b - iin utgiig hereglegchees unshina
scanf ( " % d % d " , &a , & n ) ;
// a - iin n zergiig bodoh
printf ( " % d \ n " , power (a , n ) ) ;
// dahin 2 buhel too unshina
scanf ( " % d % d " , &a , & n ) ;
// ahiad tednii zergiig olno
printf ( " % d \ n " , power (a , n ) ) ;
return 0;
}

void power ( int a , int b ) ; {


int i ;
for ( i = 1; i <= b ; i ++)
t *= a ;

return t ;
}

6. Ïàðàìåòðýýð äàìæóóëñàí a, b-èéí õîîðîíä îðøèõ àíõíû òîîíóóäûã îëæ, ãëîáàëààð çàð-

ëàãäñàí A õ³ñíýãòýä õàäãàëæ, õýäýí àíõíû òîî îëñíûã áóöààäàã äàðààõ ôóíêöèéã òîäîð-
õîéë. Îëñîí àíõíû òîîíóóäûã main() ôóíêö äîòîð õýâëýíý. Óã äàñãàëûí õèéõäýý äýýð

òîäîðõîéëñîí prime ôóíêöèéã àøèãëàíà.

int A [100];
int prime_range ( int a , int b ) ;

1.4.2 Ãýðò

1. ã°ãäñ°í á³õýë òîîã ïàëèíäðîì òîî ì°í áàéâàë 1 ³ã³é áîë 0-èéã áóöààõ ôóíêö òîäîðõîéë.
ÌÓÈÑ-ÕØÓÈÑ ÌÊÓÒ

2. N òîîíû öèôð³³äèéí íèéëáýðèéã áóöààäàã äîîðõ õýðýãëýã÷èéí ôóíêöèéã àøèãëàí 1...N


çàâñàðò îðøèõ öèôð³³äèéíõýý íèéëáýðò õóâààãääàã òîîíóóäûã îë.

int digit_sum ( int n ) ;

digit_sum(1234) ãýâýë óã ôóíêö 10-ã áóöààõûã àíõààðíà óó.

3. Õýðýãëýã÷ýýñ õî¼ð õ³ñíýãòèéã óíøèí, òýäãýýðèéã join() ôóíêöð³³ äàìæóóëàí ýõíèé õ³ñ-

íýãò äýýð õî¼ð äàõü õ³ñíýãòèéã çàëãàõ äîîðõ ôóíêöèéã õýðýãæ³³ë. join() ôóíêö íü íèé-

ë³³ëñýí õ³ñíýãòèéí õýìæýýã áóöààíà.

void read ( int A [] , int n ) ; // husnegtiin utgiig hereglegchees unshih funkts


void print ( int A [] , int n ) ; // husnegtiin utgiig hevleh funkts
int join ( int A [] , int B [] , int n , int m ) {
// ....
}
int main ()
{
int a [100] , b [100] , n , m ;
scanf ( " % d " , & n ) ;
read (a , n ) ;
print (a , n ) ;
scanf ( " % d " , & m ) ;
read (b , m ) ;
print (b , m ) ;
int k = join (a , b , n , m ) ;
print (a , k ) ;
return 0;
}

You might also like