Informatika asoslari



Download 1,29 Mb.
bet1/2
Sana19.04.2022
Hajmi1,29 Mb.
#562526
  1   2
Bog'liq
16-Massivlar uchun umumiy algoritmlar

  • Mavzu: Massivlar uchun umumiy algoritmlar
  • Reja:
  • Massivni to’ldirish;
  • Nusxa ko’chirish;
  • Elementni olib tashlash;
  • Elementni almashtirish;
  • Xulosa.
  • Ma’ruza 16
  • for (int i = 0; i < size of values; i++)
  • {
  • values[i] = 0;
  • }
  • Kvadratlar massivini 0, 1, 4, 9, 16, va h.z sonlar bilan to‘ldiramiz. E'tibor bering, 0 indeksli element 02 ni , 1 indeksli element 12 va h.z ni o‘z ichiga oladi.
  • for (int i = 0; i < size of squares; i++)
  • {
  • squares[i] = i * i;
  • }
  • Ikkita massivni ko‘rib chiqamiz:
  • int squares[5] = { 0, 1, 4, 9, 16 };
  • int lucky_numbers[5];
  • Hozir aytaylik, siz birinchi massivdagi barcha qiymatlarni ikkinchisiga ko‘chirmoqchisiz. Quyidagi ifoda xato hisoblanadi:
  • lucky_numbers = squares; // Error C++da siz bir massivni ikkinchisiga o‘tkaza olmaysiz. Uning o‘rniga siz barcha elementlarni ko‘chirish uchun sikldan foydalanishingiz kerak:
  • for (int i = 0; i < 5; i++)
  • {
  • lucky_numbers[i] = squares[i];
  • }
  • Joriy miqdori o‘zgaruvchan joriy miqdorda saqlanovchi qisman to‘ldirilgan massiv miqdorini ko‘rib chiqamiz. Deylik, siz past indeksli elementni qiymatdan olib tashlamoqchisiz. Agar elementlar hech qanday aniq tartibda bo‘lmasa, bu vazifani amalga oshirish yengil kechadi. Shunchaki, oxirgi elementdan olib tashlangan elementni qaytadan yozing.So‘ng, miqdorni kuzatuvchi o‘zgaruvchini kamaytiring.
  • values[pos] = values[current_size - 1];
  • current_size--;
  • Agar elementlar tartibi muhim bo‘lsa vaziyat yanada murakkablashadi. Bunday holda siz barcha elementlarni keyingi indeksi pastroq elementga almashtirishingiz kerak. So‘ng massivni miqdorini saqlagan holda o‘zgaruvchini kamaytirishingiz kerak.
  • Quyidagi dastur shu bobning avvalida oldimizga qo‘ygan vazifa ya'ni, kiritish ketma - ketligida eng katta qiymatni belgilashni hal etadi.
  • RAND_MAX – eng katta ixtiyoriy son (odatta RAND_MAX = 32767)
  • [0,RAND_MAX] intervaldagi butun sonlar
  • x = rand(); // birinchi son
  • x = rand(); // endi boshqa
  • Ketma-ketlikni boshlang’ich qiymatini kiritish:
  • srand ( 345 ); // 345 dan boshlanadi
  • #include // ixtiyoriy son
  • [0,N-1] intervaldagi butun sonlar:
  • Misollar:
  • [a,b] intervaldagi sonlar:
  • int random(int N) {
  • return rand()% N;
  • }
  • x = random ( 100 ); // [0,99] interval
  • x = random ( z ); // [0,z-1] interval
  • x = random ( z ) + a; // [a,z-1+a] interval
  • x = random (b – a + 1) + a; // [a,b] interval
  • #include
  • #include
  • main()
  • {
  • const int N = 10;
  • int A[N], i;
  • printf(“Massiv:\n");
  • for (i = 0; i < N; i++ ) {
  • A[i] = random(100) + 50;
  • cout<
  • }...}
  • int random(int N)
  • { return rand() % N; }
  • Qanday interval?
  • ?
  1   2




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish