Mavzu: Malumotlarni sozlangan turlari Bajardi: Begbutayev Shohruh Toshkent – 2023 reja malumotlar turlari Malumotlarni sozlangan turlari Amaliy qism Foydanilgan adabiyotlar



Yüklə 92,96 Kb.
səhifə4/4
tarix22.03.2024
ölçüsü92,96 Kb.
#180283
1   2   3   4
Mavzu Malumotlarni oddiy va sozlangan turlari Bajardi 219-21 g

Toifalarni moslashtirish.Toifalar bilan ishlaganda ularni qiymatlarni 1 toifadan 2-siga o’girishga to’g’ri keladi. Ba’zi o’girishlarni kompilyator avtomatik tarzda o’zi bajaradi. Ba’zilariga kod yozish talab etiladi.Kompilyator avtomatik tarzda toifalarni moslashtirishiga misollar keltiramiz.

1-jadval. C++ da toifalarni moslashtirish




X bo’linuvchi


Y bo’luvchi


Bo’luv natijasi


misol x = 15 y = 2

int

int

int

15/2=7

int

float

float

15/2=7.5

float

int

float

15/2=7.5

Ba’zida toifalar foydalanuvchilar tomonidan oshkora o’giriladi. Masalan,



int i=23; float j=12.3,k;
k=(float)i+j;

Bu erda i o’zgaruvchisi haqiqiy toifaga o’girilmadi, faqat bu qiymatning vaqtinchalik haqiqiy toifadagi nusxasi yaratilindi.i o’zgaruvchini toifasini boshqa toifaga o’girish uchun C++ da quyidagi static_cast funksiyasi ishlatiladi. intret=15;


static_cast(ret)/2 //natija 7.5
<> qavs ichida funksiya argumentidagi qiymat yoki o’zgaruvchi qaysi toifaga o’girilishi kerakligi ko’rsatiladi

Misol. Toifalarni avtomatik va oshkora tarzda o’girilishiga dastur tuzing.


#include
#include
using namespace std;
int main()
{
int int_value15 = 15, int_value2 = 2; // int toifali 2 ta o’zgaruvchi
float float_value15 = 15, float_value2 = 2; // float toifali 2 ta o’zgaruvchi
cout<< fixed << setprecision(2) // haqiqiy sonlarning kasr qismini aniqligini kiritish, 2 ga teng
<< "15 / 2 = " << int_value15 / int_value2 << endl
<< "15 / 2 = " << int_value15 / float_value2 <
<< "15 / 2 = " << float_value15 / int_value2 <
<< "15 / 2 = " << float_value15 / float_value2 << endl; // toifalar avtomatik moslashtiriladi
cout<< "15.0 / 2 = " << 15.0 / 2 <
<< "15 / 2.0 = " << 15 / 2.0 << endl; // toifani oshkora o’girish
cout<< "float(int_value15) / int_value2 = " << float(int_value15) / int_value2 << endl // toifani oshkora o’girish
<< "15 / double(2) = " << 15 / double(2) << endl; // toifani oshkora o’girish
cout<< "static_cast(15) / 2 = " << static_cast(15) / 2 << endl // toifani o’girish unar amali yordamida
<< "static_cast(15) = " << static_cast(15) << endl // ASCII jadvalidagi barcha belgilar kodlarini kiritish mumkin
<< "static_cast(20) = " <
system("pause");
return 0;
}
Ushbu toifalardan tashqari C++ da yana bitta satrtoifasi mavjud. Satr – bu char toifadagi elementlar massivi hisoblanadi va oxirgi elementi ikkilik 0 hisoblanadi(yani kodi 0 ga teng bo’lgan belgi). Bunday massivga satrli literallar, yani “” belgisi ichida belgilar ketma-ketligini o’zlashtirish mumkin.Masalan, quyidagi 3 ta qator bir xil.
char str1[] = "text";
char str2[] = {‘t',’e',’x',’t',’\0' };
char* str3 = "text";
Ushbu toifaga oid bir qator funksiyalar mavjud.
Misol.strncat() funksiyasi analogini yaratish.Bu funksiya 1-satrga 2-satrning boshidagi n ta belgisini birlashtiradi.
#include
using namespace std;
char* mystrncat(char *s1, char *s2, int num);
int main()
{
char *p1=new char [20];
char *p2=new char [20];
strcpy(p1, "abce");
strcpy(p2, "fghi");
char *p3;
p3=mystrncat(p1,p2, 2);
cout<

system("pause");


}
char* mystrncat(char *s1, char *s2, int num)
{
int len;
len=strlen(s1);
int i;
for(i=0; i
{
s1[len+i]=s2[i];
}
s1[i]=0;
return s1;
}

Berilgan m va n haqiqiy sonlari ustida quyidagi amallarni bajarish dasturini koʼrib chiqaylik.


#include
using namespace std;
int main()
{
float m,n;
cin>>m>>n;
float k1=m+n;
float k2=m-n;
float k3=m*n;
cout<system("PAUSE");
}
Masala sharti

Dastur kodi :
#include
#include
using namespace std;
int main(){
int n;
cin>>n;
int a[n][n];
vectorb;
for(int i=0;ifor(int j=0;jcin>>a[i][j];
}
cout<<"\n";
}
for(int i=0;ifor(int j=0;jif(i<=j){
b.push_back(a[i][j]);
}
}
}
for(auto x:b){
cout<b.pop_back();
}
}


Dastur natijasi :


Foydanilgan adabiyotlar
1. Стенли Липпман. Язык программирование С++. Базовой курс. Вильямс - М.: 2014.
2. Сидхарма Рао. Освой самостоятельно С++ за 21 день. Вильямс - М.: 2013.
3. Никита Культин. Microsoft Visual C++ в задачах и примерах. БХВ Петербург -
Петербург.:2010
4. Nazirov Sh.A., Qobulov R.V., Bobojanov M.R., Raxmanov Q.S. С va С++ tili. “Voris nashriyot” MCHJ, Toshkent 2013, 488 b
5. Aripov М., Begalov В., Begimqulov U., Mamarajabov М. Axborot texnologiyalari. Toshkent: Noshir, 2009. -368 s.
6. Deitel P.J., Deitel H.M. C++. How to Program, 9 th Edition-2011.-1

Yüklə 92,96 Kb.

Dostları ilə paylaş:
1   2   3   4




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

    Ana səhifə