Toshkent axborot texnologiyalari universiteti urganch filiali kompyuter injiniringi fakult
Download 183.19 Kb.
|
10-11-12-Mustaqil ish
Vektorlar va funksiyalar
Siz boshqa qiymatlar kabi vektorlarni funksiya parametri sifatida ishlatishingiz mumkin. Masalan, quyida funksiya flouting member nuqtasi sonlari vektorining umumiy sonini hisoblaydi: double sum(vector { double total = 0; for (int i = 0; i < values.size(); i++) { total = total + values[i]; } return total; } Bu funksiya vektor elementlarini aylanib o‘tadi, lekin ularni o‘zgartirmaydi. void multiply(vector { for (int i = 0; i < values.size(); i++) { values[i] = values[i] * factor; } } Ba’zi programmistlar o‘zgartirilmaydigan vektor parametrlari uchun turg‘un yo‘nalishdan foydalanadilar. (Maxsus mavzu 5.2) masalan: double sum(const vector efficiency funksiya vektorni qaytarishi mumkin. YAna vektorlar qolgan qiymatlardan boshqacha emas. funksiyada natijani o‘rnating va uni qaytaring. bu misolda, squares funksiyasi vektorni 0 2 up to (n – 1) 2 qaytaradi : vector { vector for (int i = 0; i < n; i++) { result.push_back(i * i); } return result; } 18.3Ko‘p o‘lchamli statik massivlar C++ tilida massivlar elementining turiga cheklovlar qo‘yil-maydi, lekin bu turlar chekli o‘lchamdagi ob’ektlarning turi bo‘lishi kerak. CHunki kompilyator massivning xotiradan qancha joy (bayt) egallashini hisoblay olishi kerak. Xususan, massiv komponentasi massiv bo‘lishi mumkin («vektorlar-vektori»), natijada matritsa deb nomlanuvchi ikki o‘lchamli massiv hosil bo‘ladi. Agar matritsaning elementi ham vektor bo‘lsa, uch o‘lchamli mas- sivlar - kub hosil bo‘ladi. SHu yo‘l bilan echilayotgan masalaga bog‘liq ravishda ixtiyoriy o‘lchamdagi massivlarni yaratish mumkin. Ikki o‘lchamli massivning sintaksisi quyidagi ko‘rinishda bo‘ladi: Masalan, 20 10 o‘lchamli haqiqiy sonlar massivining e’loni: float a[10][20]; E’lon qilingan A matritsani ko‘rinishi 7.2-rasmda keltirilgan. 7.2-rasm. Ikki o‘lchamli massivning xotiradagi joylashuvi Endi adres nuqtai - nazaridan ko‘p o‘lchamli massiv element-lariga murojaat qilishni ko‘raylik. Quyidagi e’lonlar berilgan bo‘lsin: int a[3][2]; float b[2][2][2]; Birinchi e’londa ikki o‘lchamli massiv, ya’ni 2 satr va 3 ustundan iborat matritsa e’lon qilingan, ikkinchisida uch o‘lchamli - 3 ta 2x2 matritsadan iborat bo‘lgan massiv e’lon qilingan. Uning elementlariga murojaat sxemasi: 7.3-rasm. Ikki o‘lchamli massiv elementlariga murojaat Bu erda a[i] ko‘rsatkichda i-chi satrning boshlang‘ich adresi joyla- shadi, massiv elementiga a[i][j] ko‘rinishidagi asosiy murojaatdan tashqari vositali murojaat qilish mumkin: *(*(a+i)+j) yoki *(a[i]+j). Download 183.19 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling