Си++ тилида берилганларнинг cтатик ва динамик структураси


Си++ тилининг динамик берилганлар структураси



Download 0,53 Mb.
bet2/3
Sana21.03.2022
Hajmi0,53 Mb.
#505076
1   2   3
Bog'liq
курсаткич 2t

Си++ тилининг динамик берилганлар структураси.

  • ТАТУ информатика Б.М.Р.
  • Динамик массивлар қаерда ишлатилади
  • Масала. Массив ўлчамини киритинг ва унинг элементларини киритинг. Массивни тартибланг ва уни экранга чиқаринг.
  • Муаммо:
  • массив ўлчами олдиндан маълум эмас.
  • Ечиш усуллари:
    • Хотирани ортиғи билан ажратиш
    • Хотирани ўлчов аниқ бўлганда керагича ажратиш.
  • Алгоритм:
    • Массив ўлчовини киритиш;
    • Хотира ажратиш ;
    • Массив элементларини киритиш;
    • Массивни тартиблаш ва экранга чиқариш;
    • Массивни хотирадан ўчириш.
  • Дастур
  • #include
  • void main()
  • {
  • int *A, N;
  • printf (“массив ўлчовини киритинг > ");
  • scanf ("%d", &N);
  • A = new int [N];
  • if ( A == NULL ) {
  • printf(“хотира ажратишда муаммо");
  • return;
  • }
  • for (i = 0; i < N; i ++ ) {
  • printf ("\nA[%d] = ", i+1);
  • scanf ("%d", &A[i]);
  • }
  • ...
  • delete pI;
  • }
  • delete A;
  • A = new int [N];
  • Хотирани ўчириш
  • for (i = 0; i < N; i ++ ) {
  • printf ("\nA[%d] = ", i+1);
  • scanf ("%d", &A[i]);
  • }
  • оддий массив каби ишлайди !
  • if ( A == NULL ) {
  • printf(“хотира ажратиш муаммо");
  • return;
  • }
  • текшир
  • Динамик массивлар
  • Си тилида хотирадан жой ажратиш учун malloc ва calloc функцияларидан фойдаланилади.
  • C++тилида new операторидан фойдаланилади;
  • курсаткич = new тур [ўлчами];
  • new оператори натижасини, яъни ажратилган хотира блоки адресини кўрсаткичда сақлаш керак;
  • агар new оператори (NULL) қийматни қайтарса, демак хотира ажратиш амалга ошмаганлигини билдиради;
  • динамик массив билан хам худди статик массив каби ишланади;
  • динамик хотирани бўшатиш учун delete операторидан фойдаланилади :
  • delete кўрсаткич;
  • Хотира билан ишлашдаги хатолар.
  • Хотиранинг бошқа жойига ёзиш:
    • хотира ажратилмаган,аммо массив
    • шу жойдан фойдаланмоқчи.
    • Нима қилиш керак: курсаткични NULL га текшириш керак .
  • Массив чегараларидан чиқиб кетиши:
    • массив элементининг индексини хато берилиши билан мурожаат қилиш, массивга элементларини киритаётганда чегарадан чиқиб кетиши.
    • Нима қилиш керак: массивнинг чегарадан чиқишини текширувчи транслятор функциясини ишлатиш керак кўрсаткич иккинчи марта ўчирилди :
    • хотира структураси бузилди.
    • Нима қилиш керак: ўчирилган кўрсаткичга NULL қийматни бериб текшириш керак.
  • Динамик матрицалар
  • Масала . Матрица ўлчамини киритинг ва унга дастур давомида хотирадан жой ажратинг.
  • Муаммо :
  • матрица ўлчами олдиндан маълум эмас.
  • Ечиш усуллари:
  • Хар бир сатр учун хотира блоки.
1   2   3




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