“Dasturiy injiniring” fakulteti “MA‟lumotlar tuzilmasi va algoritmlar”



Yüklə 1,33 Mb.
Pdf görüntüsü
səhifə8/49
tarix08.11.2022
ölçüsü1,33 Mb.
#67920
1   ...   4   5   6   7   8   9   10   11   ...   49
Malumotlar-tuzilmasi-va-algoritmlar-asosida-nazariy-bilimlarini-hamda

1.3. Keltirilgan toifalar 
1.3.1. Sanaladigan toifa 
 
Bir qancha qiymatlardan birini qabul qila oladigan o„zgaruvchiga 
sanaladigan toifadagi o„zgaruvchilar deyiladi va bunday o„zgaruvchilarni e‟lon 
qilishda enum kalit so„zi va undan keyin toifa nomi hamda figurali qavs ichida 
vergullar bilan ajratilgan o„zgarmas qiymatlar ro„yhati ishlatiladi.
Masalan: 
enum Ranglar{oq, qora, qizil, yashil}; 
Bu yerda Ranglar nomli sanoqli toifa yaratildi. Ushbu toifaning 4 ta


16 
o„zgarmas elementlari mavjud va ular dastlab 0 dan boshlab sanaladigan 
butun sonli qiymatga ega bo„ladilar. Ayrim hollarda foydalanuvchi tomonidan 
o„zgarmaslarga 
ixtiyoriy 
sonli 
qiymat 
ham 
o„zlashtirilishi 
mumkin. 
O„zgarmaslarga qiymatlar o„sish tartibida berilishi kerak. Masalan,
enum Ranglar{oq=100,qora=200,qizil,yashil=400}; 
Bu yerda qizil o„zgarmasning qiymati 201 ga teng bo„ladi. Endi shu 
toifadagi birorta o„zgaruvchini e‟lon qilish mumkin. 
Ranglar r=qizil; 
Endi r o„zgaruvchi ranglar toifasida aniqlangan o„zgarmaslardan ixtiyoriy 
birini qiymat sifatida qabul qila oladi. Masalan: 
#include 
using namespace std; 
int main() 
{ enum kunlar{du=1,se,chor}; 
kunlar hafta; 
hafta=chor;
cout<
int kun; 
cout<<"\nbugun qaysi kun="; 
cin>>kun; 
if(kun==chor) cout<<"\ntalabalar bilan uchrashuvingiz bor"; 
system("pause"); 
}
Natija: 3 
 
bugun qaysi kun=3 
 
talabalar bilan uchrashuvingiz bor 
 
1.3.2. Korsatkichli toifa 
Ko„rsatkichlar ma‟lumotlarni emas, balki bu ma‟lumotlar joylashgan


17 
xotiradagi manzilni o„zida saqlaydi. Ko„rsatkichlar xotirada bor yo„g„i 4 
bayt joyni egallab, u ko„rsatayotgan ma‟lumotlar ancha katta joyni egallagan 
bo„lishi mumkin. Ko„rsatkichlar qanday ishlashini bilish uchun mashina xotirasi 
tashkil etilishining tayanch prinsiplarini bilish lozim. Mashina xotirasi 16 lik sanoq 
sistemasida raqamlangan yacheykalar ketma-ketligidan iboratdir. Har bir 
o„zgaruvchining qiymati uning adresi deb ataluvchi alohida xotira yacheykasida 
saqlanadi. Ko„rsatkichli toifadagi o„zgaruvchilar o„zida ana shu kabi 
o„zgaruvchilar yoki boshqa ma‟lumotlarning xotiradagi adresini saqlaydilar. C++ 
da o„zgaruvchini ko„rsatkichli toifada e‟lon qilish uchun o„zgaruvchi nomidan 
oldin * belgisi qo„yiladi. Har bir o„zgaruvchining toifasi bilan e‟lon qilingani kabi 
ko„rsatkichli o„zgaruvchilar ham ma‟lum bir toifa bilan e‟lon qilinadi. Bunda 
ko„rsatkichli o„zgaruvchining toifasi – shu ko„rsatkich ko„rsatayotgan xotira 
yacheykasidagi ma‟lumotning toifasi bilan bir xil bo„lishi kerak. Masalan, int a=1 
bo„lsin. Ushbu o„zgaruvchining adresini o„zida saqlovchi b ko„rsatkichli 
o„zgaruvchini e‟lon qilishda ham int toifasi ishlatiladi, ya‟ni int *b. Endi bunday 
toifadagi o„zgaruvchiga a o„zgaruvchining adresini o„zlashtirish uchun a ning 
oldiga - adres operatorini qo„yish zarur, ya‟ni b=&a
Misol. 
#include 
using namespace std; 
int main() 
{ short int a=1234567; 
short int *b; 
b=&a; 
cout<
system("pause"); 

Ko„rsatkichli toifalar yordamida fayllarga ham murojaat qilsa bo„ladi, 
masalan quyida f.txt faylidagi ma‟lumotlarni ekranga chiqarish dasturi keltirilgan: 
#include  


18 
#include  
using namespace std; 
int main() 

FILE *p; 
char s;int i=0; 
if((p=fopen("f.txt","r"))==NULL)
 i cout<<"o'xshamadi"; 
else cout<<"ulandi\n"; 
while(s!=EOF){ 
s=fgetc(p); 
if(s=='s')i++; 
cout<

fclose(p); cout<<"s harfi "<
system("pause"); 

f.txt fayli tarkibi: 
c++ tilida fayllar
bilan 
ishlash dasturi 
Dastur natijasi: 
 
 
ulandi 
 
 
c++ tilida fayllar
bilan 
ishlash dasturi 
s harfi 3 marta qatnashgan 

Yüklə 1,33 Mb.

Dostları ilə paylaş:
1   ...   4   5   6   7   8   9   10   11   ...   49




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

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin