Ko'rsatkichlar. O'zining qiymati sifatida xotira adresini ko'rsatuvchi (saqlovchi) o'zgaruvchilarga - ko'rsatkich o'zgaruvchilar deyiladi.
Masalan: Ko'rsatkichning qiymati
0x22ff40
0x22fl33
va xakazo kabi xotiraning aniq qismi bo'lishi mumkin.
Boshqa o'zgaruvchilar kabi, ko'rsatkichlardan foydalanish uchun ulami e'lon qilish, toifasini aniqlash shart.
int *countPtr, count;
bu yerda countPtr - int toifasidagi ob'ektga ko'rsatkich, count esa oddiy butun ( int) toifasidagi o'zgamvchi. Ko'rsatkichlami e'lon qilishda har bir o'zgaruvchi oldidan * qo'yilishi shart.
Ko'rsatkichga doir oddiy misol
#include
using namespace std;
int main()
{
int n = 5;
int *nPtr;
// & adresni olish amali
nPtr = &n;
cout << "n=" << n << endl;
*nPtr = 15;
cout <<"n=" << n << endl;
cout << "\nKo'rsatkich qiymati, \n";
cout << "ya'ni ko'rsatkich ko' rsatayotgan adres=" << nPtr << endl;
cout << "Ko'rsatkich ko'rsatayotgan adres qiymati=" <<*nPtr << endl;
return 0;
}
Natija quyidagicha.
#include using namespace std;
int main()
{
double n = 5;
double *kPtr;
kPtr = &n;
cout << "o'zgaruvchilar qiymati" << endl;
cout << "n=" << n << endl;
cout << "*kPtr=" << *kPtr << endl;
cout << "\nxotira adresi" << endl;
cout << "n - o'zgaruvchisi joylashgan adres. &n=" << &n << endl;
cout << "Ko'rsatkich ko' rsatayotgan adres. kPtr=" << kPtr << endl;
cout << "Ko'rsatkich - joylashgan adres. &kPtr=" << &kPtr << endl;
cout << "\nO'zgaruvchilarni xotirada egallagan xajmi' " << endl;
cout << "sizeof(n)=" << sizeof (n) << endl;
cout << "sizeof(kPtr)=" << sizeof(kPtr) << endl;
return 0;
}
Natija quyidagicha.
Quyida ko'rsatkich grafik shaklda ifodalangan
Murojaatlar. Murojaatlar e’londa ko'rsatilgan nomning sinonimi sifatida ishlatiladi, yani bitta o’zgaruvchiga xar xil nom bilan murojaat qilish mumkin. Murojaatni doimiy qiymatga ega bo'lgan ko’rsatkich deb qarash mumkin xam bo'ladi. Murojaat quyidagicha e’lon qilinadi:
& ;
Bu yerda - murojaat ko’rsatuvchi qiymatning toifasi, belgisi, undan keyin yozilgan - murojaat toifasidagi nom ekanligini bildiruvchi operator. Boshqacha aytganda '&' belgisiga adresni olish amali deyiladi.
Namuna:
int k;
int &p = k; // p murojaati - k o'zgaruvchisining alternativ nomi Murojaat asosan funktsiyalarda adres orqali uzatiluvchi parametrlar sifatida ishlatiladi.
Murojaatning ko'rsatkichdan bir nechta farqi bor
Murojaatni e'lon qilishda initsializatsiya qilish kerak
Murojaatning qiymatini o'zgartirib bo'lmaydi, ko'rsatkichning qiymatini, ko'rsatib turgan adresini o'zgartirish mumkin.
Topshiriqlar №1 Q sonini P darajasini topuvchi funksiya tuzing.
P sonini oxiridan L sonini qo‘shuvchi funksiya tuzing.
Berilgan to‘g‘ri burchakli uchburchakning katetlari yordamida gipotenuzasini topuvchi funksiya tuzing
Berilgan ikki nuqtaning koordinatasi asosida ular orasidagi masofani topuvchi funksiya tuzing.
Berilgan N soni ikkita tub sonni yig‘indisi bo‘lishini tekshiruvchi funksiya tuzing.
Berilgan son 11 ga bo‘linsa 1 aks holda 0 chiqaruvchi funksiya tuzing.
Berilgan sonni K o‘rindagi raqamini N o‘rindagi raqami bilan almashtiruvchi funksiya tuzing.
Sonni raqamlarini o‘sish (kamayish) tartibida saralovchi funksiya tuzing.
Uchburchakni uchta uchining koordinatalari berilgan. Uning yuzasini topuvchi funksiya tuzing.
Tomonlari a, b, c, d va e haqiqiy sonlardan iborat bo‘lgan beshburchak berilgan (2.1-rasm). Beshburchakni va undagi uchta uchburchaklarni yuzasini topuvchi alohida funksiyalar tuzing.
2.1-rasm.
Besh burchakning uchlarining koordinatalari x1, y1, x2, y2, …, x5, y5 berilgan (2.1-rasm). Beshburchakdagi uchburchakni uchta uchining koordinatalari berilgan. Uning yuzasini topuvchi funksiya tuzing.
Sonni tublikka tekshiruvchi funksiya tuzing va barcha uch xonali tub sonlarni chiqaring.
Barcha tub sonlar ichidan “egizak”larini topuvchi funksiya tuzing. Tub sonlar “egizak” deyiladi, agarda ular 2 ga farq qilsa. Masalan, 41 va 43. Uch xonali sonlar ichidan barcha “egizak”larni chiqaring.
Ikkita son berilgan. Ularni raqamlari yig‘indisi kattasini toping. Sonni raqamlari yig‘indisini topuvchi funksiya tuzing.
Ikkita son berilgan. Ularning raqamlaridan soni ko‘pini toping. Sonni raqamlari sonini topuvchi funksiya tuzing.
6 xonali barcha baxtli sonni toping. Agarda 6 xonali sonni dastlabki uchta raqamini yig‘indisi oxirgi uchta raqamini yig‘indisiga teng bo‘lsa baxtli son deyiladi. 6 xonali sonni raqamlarini uchtalab yig‘indisini topuvchi funksiya tuzing.
Berilgan sonni palindromlikka tekshiruvchi funksiya tuzing. Masalan, 1221. Son palindrom bo‘lsa “Palindrom”, aks holda “Palindrom emas” so‘zini chiqaring.
Berilgan a va b sonlarini EKUBini topuvchi funksiya tuzing.
Berilgan a va b sonlarini EKUKini topuvchi funksiya tuzing.
Berilgan a, b va c sonlarini EKUBini topuvchi funksiya tuzing.