Hozir biz siz bilan funksiyalarda massivlardan foydalanishning bir nechta hollarini ko’rib chiqamiz.
Keling Python dasturlash tilidagi range() funksiyasiga o’xshash funksiyani biz C# dasturash tilida tuzib ko’ramiz. Izoh: range() – asosan ikkita argument qabul qiladi aytaylik n va m, ushbu funksiyaning vazifasi n dan m gacha bo’lgan butun sonli array ni qaytaradi(m kirmaydi).
Bu yerda biz Range funksiyasining type sifatida int[] massiv typeni berdik. Endi ushbu funksiyadan foydalanib n dan m gacha bo’lgan butun sonlar yig’indisini hisoblaymiz:
usingC=System.Console;usingSystem.Linq;publicclassProgram{publicstaticint[]Range(intn,intm){int[]range=newint[m-n];intk=0;for(inti=n;i<m;i++)range[k++]=i;returnrange;}publicstaticvoidMain(string[]args){intn,m;C.Write("n=");n=int.Parse(C.ReadLine());C.Write("m=");m=int.Parse(C.ReadLine());C.WriteLine($"{n} dan {m} gacha bo'lgan yig'indi={Range(n,m+1).Sum()}");}}
Endi funksiyaning argumentlariga massivlardan foydalanishni ko’rsak.
Funksiyaning argumentiga massiv ham xuddi o’zgaruvchidek ishlatiladi Misol uchun: <type> funksiyaNomi(int[] x, string[] y){}
Keling biz System nomlar fazosidagi Array classining Sort() metodiga o’xshash funksiya yaratib ko’ramiz. Izoh: Array.Sort metodinig argumentiga massivni bersak ushbu metod bizga bergan massiv elementlarini o’sish tartibida tartiblaydi. Biz faqat int typedagi massivni sort qiladigan funksiya yozamiz!
Xop bu funksiyani endi ishlatib ko’ramiz:
Natija: 1, 2, 3, 4, 4, 5, 6, 7, 41, 45,
Endi biz ushbu funksiya yordamida massivdagi eng katta va eng kichik elementni ham topishimiz mumkin:
Natija: eng kichigi: 1, eng kattasi: 45
Demak biz funksiyalarning type va ularning argumentlarida bemalol massiv typelaridan foydalana olar ekanmiz.