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).
staticint[] Range(int n,int m) { int[] range =newint[m - n]; int k =0; for(int i=n; i<m; i++) range[k++] = i; return range; }
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(int n,int m) { int[] range =newint[m - n]; int k =0; for(int i=n; i<m; i++) range[k++] = i; return range; } publicstaticvoidMain(string[] args) { int n,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.