Struktura
Struktura turli mantiqan o’zaro bog’langan ma’lumot turlarini birlashtiradi. Struktura tarkibi shablonni tavsiflash bilan aniqlanadi:
Struct ELEM // shablon nomi
{
int num; // elementlar nomi
char name[20];
float sum;
};
Bu erda ELEM – struktura nomi; num, name va sum – struktura elementlari va uning turlari. Struktura elementlari sifatida boshqa strukturalarning nomlari ham ishlatilishi mumkin.Strukturani tavsiflashda shablon nomi ishlatiladi. Alohida strukturalar, struktura massivlari, shuningdek, ko’rsatkichlar massivi va strukturaga ko’rsatkichlar ham tavsiflanishi mumkin. Tavsiflashga misollar:
struct ELEM st; // struktura
struct ELEM sm[10]; // struktura massivi
struct ELEM *sp; // strukturaga ko’rsatkich
struct ELEM *spm[10]; // strukturaga ko’rsatkichlar massivi
Struktura elementiga murojaat qilinganda «.» amali bajariladi, masalan:
st.num = 2;
sm[3].sum = 3.3;
scanf («%s», &sp.name);
Ko’rsatkich manzilidan struktura elementiga murojaat qilish uchun « -> » amali ishlatiladi, misol uchun:
sp->num = 2;
spm[3]->sum = 3.3;
spm->name = ’R’;
Vari-ant
|
Ma’lumotlar strukturasi
|
Topshiriq
|
3
|
Kitob nomi
Nashr etilgan yil
Sahifalar soni
Narxi
|
Massiv yozuvlarini alfavit tartibida joylashtiring (kitob nomi bo’yicha).
|
3-masala:
#include
#include
#include
using namespace std;
struct book{
string name;
string year;
int pages;
string price;
};
void enter(book &list){
cout<<"Nomi: "; cin>>list.name;
cout<<"Yili: "; cin>>list.year;
cout<<"Sahifalar soni: "; cin>>list.pages;
cout<<"Narxi: "; cin>>list.price;
}
int main(){
int n;
cout<<"Kitoblar soni: "; cin>>n;
book list[20];
for (int i=0; i
cout<<"=================="<
enter(list[i]);
}
system("cls");
for (int i=0; i
for (int j=i+1; j
if (list[i].name.compare(list[j].name)>0){
string name= list[i].name;
string year=list[i].year;
int pages=list[i].pages;
string price=list[i].price;
list[i].name=list[j].name;
list[i].year=list[j].year;
list[i].pages=list[j].pages;
list[i].price=list[j].price;
list[j].name=name;
list[j].year=year;
list[j].pages=pages;
list[j].price=price;
}
for (int i=0; i
cout<<"=================="<
cout<<"Nomi: "<
cout<<"Yili: "<
cout<<"Sahifalar soni: "<
cout<<"Narxi: "<
}
system("pause>>int");
return 0;
}
Natija:
1-rasm. Kitoblar ro’yxatini kritish.
2-rasm. Tartiblangan ro’yxat.
Topshiriqlar
Matritsalardagi ma’lumotlarni solishtirish
Shaxmatdagi otning barcha yurish imkoniyatlar sonini aniqlang
Matritsaning elementlarining o’rta arifmetik qiymatidan katta bo’lgan elementlarning indekslarini chiqarib bering
Matritsaning elementlarining o’rta geometrik qiymatidan katta bo’lgan elementlarning indekslarini chiqarib bering
Kalendardagi dam olish kunlarining sanasini chiqarib bering
Navbatchilik jadvalini tuzing
Kvadrat matritsani teng ikkiga bo’ling. Har birining o’rta arifmetik qiymatini hisoblab katta qiymatga ega bo’lgan qismining joyini almashtiring
Monitorda RGB (3ta element) ranglarning qaysi biri ko’proq ishlatilgan
Do'stlaringiz bilan baham: |