|
Tiplarni dinamik tarzda
|
bet | 58/131 | Sana | 13.05.2024 | Hajmi | 1,83 Mb. | | #228405 |
Bog'liq Tiplarni dinamik tarzdaindirect_array sinfi. Ichki yordamchi shablon sinf hisoblanadi. Bazaviy valarray sinf elementlari asosidagi to‘plam osti bo‘lib, belgilangan to‘plam osti o‘rtasida amallarni taʻminlash orqali valarray obʻyektlarining to‘plam osti obʻyektlar bo‘lgan obʻyektlarni qo‘llab-quvvatlaydigan yordamchi sinf.
Bu sinf obʻyekti - valarray obʻyektidagi elementlar ketma ketligi bilan yoziladigan valarray sinf obʻyekti xa bilan birgalikda valarray sinfiga havola saqlaydigan obʻyektlarni tasniflaydi.
Indirect_array obʻyekti faqat va[xa] shaklining ifodasini yozish orqali yaratiladi. Tanlangan elementlar ketma ketligi asosida Indirect_array sinf funksiyalari valarray uchun belgilangan tegishli funksiyalar bir xil ishlaydi. Ketma-ketlik XA dan iborat bo‘ladi. VA ichidagi XA[I] indeksiga akslatirilganda I elementlar o‘lchami bo‘ladi.
mask_array sinfi. Ichki yordamchi shablon sinf hisoblanadi. Bazaviy valarray sinf elementlari asosidagi to‘plam osti bo‘lib, belgilangan to‘plam osti uchun mantiqiy amallarni taʻminlash orqali valarray obʻyektlarining to‘plam osti obʻyektlar bo‘lgan obʻyektlarni qo‘llab-quvvatlaydigan yordamchi sinf.
Bu sinf obʻyekti - valarray obʻyektidagi elementlar ketma ketligi bilan yoziladigan valarray sinf obʻyekti ba bilan birgalikda valarray sinfiga havola saqlaydigan obʻyektlarni tasniflaydi.
Ketma-ketlik ba.size elementlardan ko‘pmas. J element faqat ba[J] ga chin (true) o‘rnatilgandagina faol bo‘ladi. Ketma-ketlikda elementni soni ba elementlarga teng bo‘ladi. Agar i - ba da eng kichik haqiqiy chin (true) elementning indeksi bo‘lsa, u holda tanlangan ketma-ketlikda a[i] ning qiymati nolga teng.
In sinfi2. Bu sinf interval matematikaning amallarini bajarishga yo‘naltirilgan bo‘lib, C++ ning eski standarti asosida keltiriladi va taqribiy hisoblashlar uchun yaratilgan. Sinf quyidagicha aniqlangan:
In kutubxonasi funksiyalari:
class In – interval sinf.
intervalning _a, - quyi chegarasi a_ - yuqori chegarasi; In() {_a=a_=0;} Intervalning qiymatini 0 ga tenglashtirish;
In(double a, double b) Intervalga qiymat berish. Agar _a> a_ bo‘lsa, qiymatlar o‘rni almashadi.
[ >>] - interval sonni o‘qish :: 1 2
[ <<] - interval sonni chqarish, masalan: [a,b]
[=] - interval songa oddiy sonni tenglashtirish, masalan: In a; a=1;
[-]- interval sonni ishorasini almashtirish, masalan: In a; b=-a;
[+] - interval qo‘shish, masalan: [a]+[b]; [a]+b; a+[b];
[-] - interval ayirish, masalan: [a]-[b]; [a]-b; a-[b];
[*] - interval ko‘paytirish, masalan: [a]*[b]; [a]*b; a*[b];
[/] - interval bo‘lish, amallari [a]/[b]; [a]/b; a/[b];
[+=]- operator interval qo‘shish [a]+=[b] [a]+=b
[-=]- operator interval ayirish [a]-=[b] [a]-=b
[*=]- operator interval ko‘paytirish [a]*=[b] [a]*=b
[/=]- operator interval bo‘lish [a]/=[b] [a]/=b
[|] - operator interval yoki
[&]- operator interval va
[|=] -operator interval yoki
[&=]- operator interval va
[==]- operator interval tenglik
[!=]- operator interval tengmas
[<=]- operator interval kichik yoki teng
[>=]- operator interval katta yoki teng
[<]- operator interval kichik
[>]- operator interval katta
[!]- operator interval 0 intervalga tegishligini aniqlaydi.
GetInf funksiyasi - intervalning kichik qiymati olish
GetSup funksiyasi - intervalning katta qiymati olish
SetInf funksiyasi -intervalning kichik qiymatini o‘zgartirish
SetSup funksiyasi -intervalning katta qiymatini o‘zgartirish
IsEmpty funksiyasi - intervalning xatoligi, masalan: [2,1] – xato;
abs funksiyasi -interval moduli
Mid funksiyasi -intervalning markazi
Rad funksiyasi -intervalning radusi
Wid funksiyasi -intervalning uzunligi 2*Rad
MaxIn funksiyasi -intervalning kattasi modulda
MinIn funksiyasi -intervalning kichigi modulda
Sing funksiyasi -intervalning ishorasi -1,0,1 ko‘rinishda
Indefine kutubxonasi
tab - "\t" dir.
NewLine - "\n" dir.
ZERO - 0.0000000 qiymat
real - double tipidir ERROR kutubxonasi
DIV_BY_ZERO_ERROR
ERROR_INTERVAL_EMPTY_INTERVAL
ERROR_INTERVAL_SING_INTERVAL
ERROR_INTERVAL INTMATH kutubxonasi
min funksiyasi – ikki haqiqiy sonning kichigi
max funksiyasi – ikki haqiqiy sonning kattasi
abs funksiyasi – haqiqiy sonning moduli
class def_arg_func argumentida f(x) boʻlgan funksiyalar hosilasi sinf;
d_exp(func f, func df, In x) funksiyasi-exp(f(x)) ning hosilasi;
f_ax(In x, double a, func f, func df) funksiyasi-a^f(x) ning hosilasi;
f_ax(In x, In a, func f, func df) funksiyasi-a^f(x) ning hosilasi;
f_sin(In x, func f, func df) funksiyasi-sin(f(x)) ning hosilasi;
f_cos(In x, func f, func df) funksiyasi-cos(f(x)) ning hosilasi;
f_sqrt(In x, func f, func df) funksiyasi-sqrt(f(x)) ning hosilasi;
f_ln(In x, func f, func df) funksiyasi-ln(f(x)) ning hosilasi;
f_log(float a, In x, func f, func df) funksiyasi-log(a,(f(x)) ning hosilasi;
f_log(In a, In x, func f, func df) funksiyasi-log(a,(f(x)) ning hosilasi;
f_tan(In x, func f, func df) funksiyasi-tan(f(x)) ning hosilasi;
f_ctan(In x, func f, func df) funksiyasi-ctan(f(x)) ning hosilasi;
f_acos(In x,func f, func df) funksiyasi-acos(f(x)) ning hosilasi;
f_asin(In x,func f, func df) funksiyasi-asin(f(x)) ning hosilasi;
f_atan(In x, func f, func df) funksiyasi-atan(f(x)) ning hosilasi;
f_actan(In x,func f, func df) funksiyasi- actan(f(x)) ning hosilasi;
f_cosh(In x,func f, func df) funksiyasi-cosh(f(x)) ning hosilasi;
f_sinh(In x, func f, func df) funksiyasi-sinh(f(x)) ning hosilasi;
f_tanh(In x, func f, func df) funksiyasi-tanh(f(x)) ning hosilasi;
f_ctanh(In x, func f, func df) funksiyasi-ctanh(f(x)) ning hosilasi;
pow_arg_func(func f, func df, func dx, In x, int d) funksiyasi- (f(x)^d) ning hosilasi;
f_msqrt(func f, func df, In x, float m) funksiyasi- m_sqrt(f(x)) (1/m) ning hosilasi;
INGAUSSK_H – Integralni Gauss usulida hisoblash uchun koyfisentlar uchun kutubxona
P – koʻp hadni hisoblash;
dP – koʻp hadni hosilasini hisoblash
A – Koyfisentlarni hisoblash;
x0 – x uchun boshlangʻish yaqinlashish;
xeps – x ni eps aniqlikda olish uchun;
convert_x – olingan x larni a,b oraliqqa convertlash;
convert_A - olingan A larni a,b oraliqqa convertlash;
INTEGRALIN_H interval integrallash uchun kutubxonaintegral_MTT1 – markaziy toʻgʻri toʻrtburchak usuli;
integral_Trap funksiyasi– trapetsiya usuli;
integral_Simson funksiyasi – Simson usuli;
integral_gauss1 funksiyasi – Gauss usuli;
integral_gauss2 funksiyasi - Gauss usuli ikki karrali INGAUSS_H CHATSni gauss usuli bilan yechish uchun kutubxona N = 3 uchun
PrintArray – massivni chiqarish;
PrintVector – vektorni chiqarish;
ScanArray – massivni kiritish;
ScanVectorB – vektorni kiritish;
SwapColumns – ustunlarni almashtirish;
SwapLines – qatorlarni almashtirish;
Destroy – quyi uchburchakni )ga aylantirish;
Solution – yechimni topish
F – yechimning aniqligini aniqlash;
GAUSS – birlashgan Gauss usulini qoʻllash;
|
| |