logo

Random , string , massiv ishlash strukturasi

Загружено в:

10.08.2023

Скачано:

0

Размер:

351.462890625 KB
RANDOM , STRING , MASSIV 
ISHLASH STRUKTURASI   REJA:
•
Massivdan foydalanish strukturralari 
•
Stringdan foydalanish strukturalari 
•
Randomni C++ da foydalanish      Massiv – bu bitta nom ostida birlashtirilgan, bir xil tipdagi elementlar guruhi sifatida taqdim etilgan ma’lumotlar 
to‘plamidir. Bir xil turdagi, katta hajmdagi ma’lumotlarni qayta ishlashda massivlardan foydalanish qulay hisoblanadi. 
Massiv ma’lumotlarining bitta yacheykasi massiv elementi deyiladi. Massiv elementlari har qanday turdagi ma’lumotlar 
bo‘lishi mumkin (Butun yoki haqiqiy sonlar, satrlar, sanalar va boshqalar). Massivlar bir yoki bir nechta o‘lchovlarga ega 
bo‘lishi mumkin, ya’ni bir o‘lchovli, ikki o‘lchovli, uch o‘lchovli va n o‘lchovli massivlarga bo‘linadi. Dasturlashda 
ko‘pincha bir o‘lchovli va ikki o‘lchovli massivlardan foydalaniladi. Ushbu mavzuda bir va ikki o‘lchovli massivlar bilan 
ishlashni ko‘rib chiqamiz.
Massiv o‘lchami va uning elementlari tipi massivni saqlash uchun zarur bo‘lgan xotira hajmini aniqlaydi.
  Massivni tavsiflashning yana bir usulini ko‘rib chiqamiz: const int k=15; // Butun sonli o‘zgarmasni e’lon qilish; double 
A[k]; // 15 ta haqiqiy sonli massiv; Statik massivni tavsiflashda o‘lchov sifatida musbat butun sondan yoki oldindan 
belgilangan o‘zgarmasdan foydalanish mumkin. C++ dasturlash tilidagi massiv elementlari noldan raqamlangan. Birinchi 
element har doim nol indeksga ega va oxirgi element indeksi, uning tavsifida ko‘rsatilgan o‘lchovdan bitta kam bo‘ladi: char 
z[4]; // bunda 4 ta belgili massiv, elementlari 0 dan 3 gacha raqamlangan. Massiv elementlariga murojaat qilish oddiy 
o‘zgaruvchilarga murojaat qilishdan biroz farqli bo‘lgan jihati mavjud. Massiv elementiga murojaat qilish, uning indeksi 
orqali amalga oshiriladi. Masalan: max[1] = 20; // max massivning 1- elementi 20 qiymat o‘zlashtirish; max[2] = min[3]; // 
max massivni 2- elementiga min massivning 3-elementini o‘zlashtirish ;  MISOL : NATIJA :  Ikki o‘lchovli massiv – bu matritsa hisoblanadi, uning har bir elementi ikkita indeksga ega: qator raqami – i, ustun 
raqami – j. 
Umumiy holda ikki o‘lchovli massiv quyidagicha e’lon qilinadi: [n] [m] = { boshlang‘ich qiymatlar };
  Bu yerda toifa massiv elementlari turini belgilaydi, – massivning nomi, n – satrlar soni, m – massivning ustunlar 
soni. 
Satrlar 0 dan n - 1 gacha, ustunlar esa 0 dan m - 1 gacha raqamlangan. Masalan: double m[5][7]; Bunda satrlar 
soni 5 ta va ustunlari soni 7 ta bo‘lgan haqiqiy sonli m massiv e’lon qilingan, satrlar 0 dan 4 gacha, ustunlar 0 dan 
6 gacha raqamlangan. 
Ixtiyoriy o‘zgaruvchiga o‘xshab, matritsaga ham boshlang‘ich qiymat berilishi mumkin, masalan: int B[2][3] 
={{2,3,4}, {7,8,9}};
  Matritsa elementiga murojaat qilish uchun uning nomiga, to‘rtburchak qavslarda qator va ustun soni ko‘rsatilishi 
lozim. Masalan, a [2] [4]- uchinchi satrda va beshinchi ustunda joylashgan a matritsaning elementi degan ma’noni 
bildiradi.  MISOL :
NATIJA :  Satrlarni ishlatish uchun manba kodiga qo'shimcha sarlavha faylini, kutubxonani kiritishingiz kerak 
<string> : 
C++ satrlari-bu char massivida saqlanadigan belgilar ketma-ketligi. Satrlar so'zlar va matnlarni saqlash 
uchun ishlatiladi.	
 Ular, shuningdek, raqamlar va boshqa turdagi ma'lumotlar kabi ma'lumotlarni saqlash 
uchun ishlatiladi.
 
C++ tilidagi satrlarni	
  std::string sinfi  	yoki	  C uslubidagi belgilar massivlari yordamida aniqlash 
mumkin.
C++ da satrlar bilan ishlashni qulaylashtirish uchun string sinfi kiritilgan. string sinfi satrlarida	
  satr oxirini	  '\
0' belgisi	
  belgilamaydi.
Standart kutubxonadagi string sinfidan foydalanish uchun <string> sarlavha faylini dasturga qo'shish kerak.
C tilida kompilyatorlarda <cstring.h> yoki <bstring.h> sarlavha faylini qo'shish kerak bo'ladi. Oddiy 
usuldagi satrlar bilan ishlash uchun esa, <string.h> sarlavha fayli qo'shiladi.
Eng afzali,	
  o'zingiz ishlatayotgan kompilyator bilan yaxshilab tanishib chiqing.
Satrlar bilan ishlovchi	
  asosiy funksiyalar	  bilan tanishib chiqamiz.  MISOL :
NATIJA :  Tasodifiy raqamlarni olishning eski usuli-boshlash uchun  srand(vaqt (NULL))  	funktsiyasi, 
tasodifiy raqamni olish uchun	
  rand()  	va 0 va maxValue o'rtasida tasodifiy raqamni olish 
uchun	
  rand() % maxValue .	 Ammo men Stefan T. Lavavejning	  videodagi bayonotlarini 
tomosha qilganimdan so'ng, oddiy	
  rand ()  	Plus	  modul paradigmasidan  	foydalanish zararli 
va dahshatli deb hisoblangan
C++ shuningdek, sizga tasodifiy tasodifiy taqsimotlarni beradi.	
  std:: 
uniform_int_distribution  	
sizga modulning tarafkashligisiz mukammal bir xil raqamlarni 
beradi — ya'ni	
  rand() % 10000  	sizga 0 va 999 orasidagi raqamga qaraganda 9000 va 9999 
orasida raqam berish ehtimoli ko'proq, chunki 32767 10000 ning mukammal ko'paytmasi 
emas.  MISOL :
NATIJA :  MISOL :
NATIJA :

RANDOM , STRING , MASSIV ISHLASH STRUKTURASI

REJA: • Massivdan foydalanish strukturralari • Stringdan foydalanish strukturalari • Randomni C++ da foydalanish

Massiv – bu bitta nom ostida birlashtirilgan, bir xil tipdagi elementlar guruhi sifatida taqdim etilgan ma’lumotlar to‘plamidir. Bir xil turdagi, katta hajmdagi ma’lumotlarni qayta ishlashda massivlardan foydalanish qulay hisoblanadi. Massiv ma’lumotlarining bitta yacheykasi massiv elementi deyiladi. Massiv elementlari har qanday turdagi ma’lumotlar bo‘lishi mumkin (Butun yoki haqiqiy sonlar, satrlar, sanalar va boshqalar). Massivlar bir yoki bir nechta o‘lchovlarga ega bo‘lishi mumkin, ya’ni bir o‘lchovli, ikki o‘lchovli, uch o‘lchovli va n o‘lchovli massivlarga bo‘linadi. Dasturlashda ko‘pincha bir o‘lchovli va ikki o‘lchovli massivlardan foydalaniladi. Ushbu mavzuda bir va ikki o‘lchovli massivlar bilan ishlashni ko‘rib chiqamiz. Massiv o‘lchami va uning elementlari tipi massivni saqlash uchun zarur bo‘lgan xotira hajmini aniqlaydi. Massivni tavsiflashning yana bir usulini ko‘rib chiqamiz: const int k=15; // Butun sonli o‘zgarmasni e’lon qilish; double A[k]; // 15 ta haqiqiy sonli massiv; Statik massivni tavsiflashda o‘lchov sifatida musbat butun sondan yoki oldindan belgilangan o‘zgarmasdan foydalanish mumkin. C++ dasturlash tilidagi massiv elementlari noldan raqamlangan. Birinchi element har doim nol indeksga ega va oxirgi element indeksi, uning tavsifida ko‘rsatilgan o‘lchovdan bitta kam bo‘ladi: char z[4]; // bunda 4 ta belgili massiv, elementlari 0 dan 3 gacha raqamlangan. Massiv elementlariga murojaat qilish oddiy o‘zgaruvchilarga murojaat qilishdan biroz farqli bo‘lgan jihati mavjud. Massiv elementiga murojaat qilish, uning indeksi orqali amalga oshiriladi. Masalan: max[1] = 20; // max massivning 1- elementi 20 qiymat o‘zlashtirish; max[2] = min[3]; // max massivni 2- elementiga min massivning 3-elementini o‘zlashtirish ;

MISOL : NATIJA :

Ikki o‘lchovli massiv – bu matritsa hisoblanadi, uning har bir elementi ikkita indeksga ega: qator raqami – i, ustun raqami – j. Umumiy holda ikki o‘lchovli massiv quyidagicha e’lon qilinadi: [n] [m] = { boshlang‘ich qiymatlar }; Bu yerda toifa massiv elementlari turini belgilaydi, – massivning nomi, n – satrlar soni, m – massivning ustunlar soni. Satrlar 0 dan n - 1 gacha, ustunlar esa 0 dan m - 1 gacha raqamlangan. Masalan: double m[5][7]; Bunda satrlar soni 5 ta va ustunlari soni 7 ta bo‘lgan haqiqiy sonli m massiv e’lon qilingan, satrlar 0 dan 4 gacha, ustunlar 0 dan 6 gacha raqamlangan. Ixtiyoriy o‘zgaruvchiga o‘xshab, matritsaga ham boshlang‘ich qiymat berilishi mumkin, masalan: int B[2][3] ={{2,3,4}, {7,8,9}}; Matritsa elementiga murojaat qilish uchun uning nomiga, to‘rtburchak qavslarda qator va ustun soni ko‘rsatilishi lozim. Masalan, a [2] [4]- uchinchi satrda va beshinchi ustunda joylashgan a matritsaning elementi degan ma’noni bildiradi.