O’ZBEKISTON RESPUBLIKASI
AXBOROT TEXNOLOGIYALARI VA
KOMMUNIKATSIYALARINI RIVOJLANTIRISH
VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI
TOSHKENT AXBOROT TEXNOLOGIYALARI
UNIVERSITETI
QARSHI FILIALI
“ TT VA KT” FAKULTETI
2– BOSQICH TT-11/21 GURUH TALABASINING
MAʼLUMOTLAR TUZILMASI VA ALGORITIMLAR
FANIDAN TAYYORLAGAN
1-Mustaqil ishi
1-amaliy mashg’ulot
Mavzu: Dasturlash tillarida ma’lumotlarning standart turlari.
Funksiyalarni amalga oshirish.
Ishdan maqsad:
Ma’lumotlarning standart turlari, statik ma’lumotlar
tuzilmasini
va tuzilmalar bilan ishlovchi funksiyalarni amalga oshirishni o‘rganish va ularni
tadqiq qilish.
Ishni vazifasi:
Dasturlash tillarida ma’lumotlarning standart turlari
Funksiyalarni amalga oshirish mavzularini o’rganish;
Ish tartibi:
Amaliy mashg’ulot nazariy ma’lumotlarini o‘rganish;
Berilgan topshiriqning algoritmini ishlab chiqish;
C++ dasturlash muhitida dasturni yaratish;
Natijalarni tekshirish;
Hisobotni tayyorlash va topshirish.
Nazariy qismi.
Ma’lumot toifalarini shartli ravishda ikki xil turga ajratish mumkin:
1.Sozlangan toifalar: butun, haqiqiy, belgili, mantiqiy, ko’rsatkichli. Ushbu
oddiy
sozlangan toifalardan tuzilmaviy, nostandart toifalar yaratilishi mumkin.
2. Xosil qilinadigan toifalar. Bu turdagi toifalarni foydalanuvchilar
sozlangan
toifalarda foydalanib o’zlari yaratishlari mumkin. Ularga yozuvlar,
massivlar,
vektorlar,to’plam, jadvallar, ro’yxatlar, navbat, stek, dek, daraxtlar, binar
daraxtlar,
graflar misol bo’la oladi. Bu turdagi toifalarni yaratish va ustida amal
bajarish
uchun standart funksiyalar kutubxonasida tayyor funksiyalar mavjud,
ammo bu
toifalarni foydalanuvchilar 0 dan boshlab o’zlari xam istalgan tuzilishda
yarata
oladilar.
7-misol
//nxn matritsaning yuqori oʼng uchburchagidagi
elementlaridan vektor hosil qilish
#include
#include
using namespace std;
int main()
{
srand(time_t(NULL));
vector vektor;
int matritsa[100][100]; int n;
cout << "Kvadrat matritsaning tartibi kiriting = "; cin >> n;
for (int i = 0; i < n; i ++)
{ for (int j = 0; j < n; j ++)
/*matritsani tasodifiy qiymatlar bilan toldirish*/
{
int random = rand() % 100 + 1;
matritsa[i][j] = random;
}
}
for (int i = 0; i < n; i ++)
{ for (int j = 0; j < n; j ++)
/*matritsa korinishida chiqarish*/
cout << matritsa[i][j]<< " ";
cout << endl;
}
cout << endl;
for (int i = 0; i < n; i ++)
{ for (int j = 0; j < n; j ++)
if(i >= j)
{ /*vectorga matritsaning yuqori oʼng uchburchagidagi elementlarni
o’zlashtirish*/
vektor.push_back(matritsa[i][j]);
}
}
cout << "Vector elementlari" << endl;
for(int i = 0; i < vektor.size(); i ++)
{
cout << vektor[i] << " ";
}
return 0; }
|