Funksiyalar. Rekursiv funksiyalar



Yüklə 11,5 Kb.
səhifə1/4
tarix07.01.2024
ölçüsü11,5 Kb.
#209523
  1   2   3   4
MT 10

Funksiyalar. Rekursiv funksiyalar.

Funksiyalar.

Funksiya – dastur kodining biror nomlangan qismi bo’lib, unga boshqa funksiyalardan va asosiy (main) funksiyasidan murojaat qilish mumkin. Aniq bir vazifani bajaradi, birnecha marta murojaat qilinishi mumkin.

Masala.

Ikkita a va b sonlari berilgan. Ularning har birining raqamli ildizlarini toping.

Raqamli ildizni xisoblaganda sonning raqamlarini qo’shamiz. Agar u bir xonali son bo’lmasa bu jarayonni toki bir xonali son bo’lgunga qadar davom ettiramiz.

Masalan a = 2356474;

1) a = 2356474 > 9, a = 2+3+5+6+4+7+4=31;

2) a = 31 > 9, a = 3+1=4;

3) a = 4 <= 9; Javob : 4;

int digidal_root(int a) {

while (a > 9) {

int sum = 0;

while (a > 0) {

sum += a % 10;

a /= 10;

}

a = sum;

}

return a;

}

Funksiya parametri sifatida massiv uzatish.

Masala:

Bir o’lchamli massivning [L..R] elementlarining yig’indisini funksiya yordamida topuvchi dastur tuzing.

Masalan : int a[] = {1, 4, 6, 14, 32, 7, 9}

sumArray(a, 0, 3) = a[0]+a[1]+a[2]+a[3] = 1+4+6+14 = 25

sumArray(a, 2, 3) = a[2]+a[3] = 6+14 = 20

Bu masalada funksiyaga parametr sifatida massiv va uning boshlang’ich va ohirgi insekslari uzatiladi.

int sumArray(int a[], int L, int R) {

int sum = 0;

for (int i = L; i <= R; i++) {

sum += a[i];

}

return sum;

}

int main(){

int a[] = {1, 4, 6, 14, 32, 7, 9};

cout<< sumArray(a, 1, 4) ;

int b[] = {4, 67, 13, 56, 61, 4};

cout<< sumArray(b, 2, 3) ;

}

Funksiyaning parametriga massivni uzatmasdan uni global qilib qo’yish ham mumkin.


Yüklə 11,5 Kb.

Dostları ilə paylaş:
  1   2   3   4




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©www.azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin