logo

Структура элементларига мурожаат. Структураларни ўзлаштириш. Структуралар массиви. Структурага кўрсаткич

Yuklangan vaqt:

28.07.2023

Ko'chirishlar soni:

0

Hajmi:

1520.5 KB
Структура элементларига мурожаат . Структураларни ў злаштириш. Структуралар массиви. Структурага кўрсаткич. • Режа: 1. Структуралар га мурожат 2. Номсиз структура 3. Бирлашмалар 3 Структуралар га murojaat struct complex { double real; double imag; } struct tovar { char name[20]; //nomlanishi long price; //ulgurji narxlar float percent; //narxlar % int vol; // tovar partiyasi char date [9]; // tovar kirib kelgan va q ti };Masalan, komplex sonlar va tovarlar uchun quyidagicha struktura tuzish mumkin: 4 Структуралар га murojaat Aniq strukturalar ta’riflanganda massivlar kabi inisializasiya qilinishi mumkin. Masalan struct complex sigma = {1.3; 12.6}; struct tovar coats = {&#34;pidjak&#34;, 40000, 7.5, 220, &#34;12.01.97&#34;); Bir xil tipdagi strukturalarga qiymat berish amalini qo’llash mumkin: struct complex alfa ; alfa = sigma ; Lekin strukturalar uchun solishtirish amallari aniqlanmagan. Strukturalar elementlariga quyidagicha murojaat qilish mumkin: Struktura_nomi.element_nomi. &#39; Nuqta amali &#39; struktura elementiga murojaat qilish amali deyiladi. Bu amal q avs amallari bilan birga eng yuqori ustivorlikka ega. 5 Структуралар га мурожаат Misol: struct complex alfa = {1.2, -4.5}, betta = {5.6, -7.8), sigma; sigma.real = alfa.real + betta.real; sigma.imag = alfa.imag + betta.imag; Aniq strukturalar elementlari dasturda alohida kiritilishi va chi q arilishi zarur. Quyidagi misolda xizmatchi strukturasi kiritiladi: #include <stdio.h> struct employee { char name [64]; long employee_id; float salary; char phone[10]; int office_number; } worker; 6 Структуралар га мурожаат void show_employee(employee worker) { printf(&#34;Ismi: %s&#34;, worker.name); printf(&#34;\nTelefon: %s&#34;,worker.phone); printf(&#34;\nNomer: %ld&#34;,worker.employee_id); printf(&#34;\nOylik: %f&#34;,worker.salary); printf(&#34;\nOfis: %d&#34;,worker.office_number); }; int main() { worker.employee_id = 12345; worker.salary = 25000.00; worker.office_number = 102; printf(&#34;\n ismi:&#34;); scanf(&#34;%s&#34;,&worker.name); printf(&#34;\n telefon:&#34;); scanf(&#34;%s&#34;,&worker.phone); show_employee(worker); return 0; } 7 Номсиз структура struct { char processor [10]; int frequency; int memory; int disk; } IBM_486, 1BM_386, Compaq; Номсиз тузилма, умумий кўриниши struct { элементларни аниқлаш} < тузилмалар рўйхати> ; Масалан, ЭҲМ конфигурацияси: • процессор и тип и (char [10]); • МГц даги ишчи частота р (int); • М Б лардаги асосий хотира (int); • МБ лардаги қаттиқ диск ҳажми (int). 8 Бирлашмалар Strukturalarga yaqin tushuncha bu birlashma tushunchasidir. Birlashmalar union xizmatchi so’zi yordamida kiritiladi. Misol uchun: union { long h; int i,j; char c[4] }UNI; Birlashmalarning asosiy xususiyati shundaki, uning hamma elementlari bir xil boshlang’ich adresga ega bo’ladi. Birlashmalarning asosiy afzalliklaridan biri xotira biror qismi qiymatini har xil tipdagi qiymat shaklida qarash mumkin. union { float f; unsigned long k; char h[4]; }fl; 9 Бирлашмалар Quyidagi dastur yordamida birlashma xususiyatini tekshirish mumkin: #include <stdio.h> enum paytype{CARD, CHECK}; struct { paytype ptype; union{ char card[4]; long check; }; }info; int main() { info.ptype = CHECK; info.check = 77; switch (info.ptype) { case CARD:printf(&#34;\nKarta bilan to&#39;lash:%s&#34;, info.card); break; case CHECK:printf(&#34;\nChek bilan to&#39;lash:%ld&#34;, info.check); break; } return 0;} Natija Chek bilan to&#39;lash:77 10 Бирлашмалар Birlashmalar imkoniyatlarini ko’rsatish uchun bioskey() funksiyasidan foydalanishni ko’rib chiqamiz. Bu funksiya bios.h sarlavhali faylda joylashgan bo’lib, quyidagi prototipga ega: int bioskey(int); MS DOS operasion tizimida ixtiyoriy klavishaning bosilishi klaviatura buferiga ma’lumot yozilishiga olib keladi. Agar funksiyaga bioskey(0) shaklda murojaat qilinsa va bufer bo’sh bo’lsa biror klavishaga bosilishi kutiladi, agar bufer bo’sh bo’lmasa funksiya buferdan ikki baytli kodni o’qib butun son sifatida qaytaradi. Funksiyaga bioskey(0) shaklda murojaat qilinsa va bufer bo’sh bo’lsa biror klavisha bosilishi kutiladi, agar bufer bo’sh bo’lmasa funksiya buferdagi navbatdagi kodni qaytaradi. Funksiyaga bioskey(1) shaklda murojaat qilish bufer bo’sh yoki bo’shmasligini aniqlashga imkon beradi. Agar bufer bo’sh bo’lmasa funksiya buferdagi navbatdagi kodni qaytaradi, lekin bu kod buferdan o’chirilmaydi 11 Бирлашмалар Quyidagi dastur buferga kelib tushuvchi kodlarni o’qib monitorga chiqarishga imkon beradi: int main() { union { char hh[2]; int ii; } cc; unsigned char scn,asc; printf(&#34;\n\n Ctrl+Z bilan chiqish.&#34;); printf(&#34;\n Klavishani bosib, kodini oling. \n &#34;); printf(&#34;\n SCAN || ASCII&#34;); printf(&#34;\n (10) (16) (10) (16)&#34;); 12 Бирлашмалар do { printf(&#34;\n&#34;); cc.ii = bioskey(0); asc = cc.hh[0]; scn = cc.hh[1]; printf(&#34; %4d %3xH || %4d %3xH |&#34;, scn, scn, asc, asc); } while(asc! = 26 || scn! = 44); return 0; } Bu dasturda cc nomli birlashma kiritilgan b o’ lib, cc.ii elementiga bioskey(0) funksiyasi natijasi yo ziladi. S o’ ngra natijaning alohida baytlari scn va ASCII kodlar sifatida monitorga chi q ariladi. Sikl to 26 ASCII kod va 44 scn kod paydo b o’ lmaguncha (ctrl+Z klavishlari bosilmaguncha) davom etadi. 1313 Ikkita (nomsiz) strukturani e’lon qilish struct { unsigned int x, y; unsigned char Rang; }Point1, Point2;struct { unsigned int x, y; unsigned char Rang; }Point1, Point2;Структура турини эълонида турнинг номи бўлмаслиги мумкин, лекин бу ҳолда структура аниқланишидан кейин албатта ўзгарувчилар номлари ёзилиши керак: Келтирилган мисолда структура туридаги Point1, Point2 ўзгарувчилари эълон қилинган. 1414 Struct Sana_Vaqt Агар фойдаланувчи структуранинг майдони фақат 0 ва 1 қийматини қабул қилишини билса, бу майдон учун бир бит жой ажратиши мумкин (бир байт ё к и икки байт ўрнига) . Хотирани тежаш эвазига майдон устида амал бажаришда разрядли арифметикани қўллаш зарур бўлади. Мисол учун сана-вақт билан боғлиқ структурани яратишнинг иккита вариантини кўрайлик. Структура йил, ой, кун, соат, минут ва секунд майдонларидан иборат бўлсин ва уни қуйидагича аниқлаш мумкин: struct Sana_vaqt { unsigned short Yil; unsigned short Oy; unsigned short Kun; unsigned short Soat; unsigned short Minut; unsigned short Sekund; } ;struct Sana_vaqt { unsigned short Yil; unsigned short Oy; unsigned short Kun; unsigned short Soat; unsigned short Minut; unsigned short Sekund; } ; 1515 Struct Sana_Vaqt Бундай аниқлашда Sana_vaqt структураси хотирада 6 майдон * 2 байт = 12 байт жой эгаллайди . Агар эътибор берилса структурада ортиқча жой эгаллаш ҳолатлари мавжуд. Масалан, йил қиймати 0 дан 99 гача қиймат билан аниқланиши етарли (масалан, 2008 йилни 8 қиймати билан ифодалаш мумкин). Шунинг учун унга 2 байт эмас, балки 7 бит ажратиш етарли. Худди шундай ой учун 1..12 қийматлари ифодалашга етарли 4 бит жой етарли ва ҳоказо. struct Sana_vaqt 2 { unsigned Yil : 7; unsigned Oy : 4; unsigned Kun : 5; unsigned Soat : 6; unsigned Minut : 6; unsigned Sekund : 6; };struct Sana_vaqt 2 { unsigned Yil : 7; unsigned Oy : 4; unsigned Kun : 5; unsigned Soat : 6; unsigned Minut : 6; unsigned Sekund : 6; }; 1616 Talaba структурасини эълон қилиш struct Talaba { char FISh[30]; unsigned int Tug_yil; unsigned int Kurs; char Yunalish[20]; float Reyting; char Jinsi[ 6 ]; char Manzil[40]; bool status; };struct Talaba { char FISh[30]; unsigned int Tug_yil; unsigned int Kurs; char Yunalish[20]; float Reyting; char Jinsi[ 6 ]; char Manzil[40]; bool status; };Талаба ҳақидаги берилганларни ўз ичига олувчи структура турининг эълон қилиниши. Talaba talaba; 1717 Talaba структураси майдонларига мурожаат talaba.Kurs=2; talaba. Tug _ yil =1988; strcpy ( talaba.FI Sh , “ Abdullaev A . A . ” ); strcpy( talaba. Yunalish,”Kompyuter injiniring”); strcpy( talaba. Jinsi,”Erkak”); strcpy( talaba. Manzil,”Toshkent,Yunusobod … ”); talaba. Reyting = 123.52 ;talaba.Kurs=2; talaba. Tug _ yil =1988; strcpy ( talaba.FI Sh , “ Abdullaev A . A . ” ); strcpy( talaba. Yunalish,”Kompyuter injiniring”); strcpy( talaba. Jinsi,”Erkak”); strcpy( talaba. Manzil,”Toshkent,Yunusobod … ”); talaba. Reyting = 123.52 ;Масалан, талаба ҳақидаги структура майдонларига мурожаат қуйидагича бўлади: 1818 Структура функция аргументи сифатида Структуралар функция аргументи сифатида ишлатилиши мумкин. Бунинг учун функция прототипида фойдаланувчи томонидан структурани эълон қ илишда аниқланган берилганлар тури кўрсатилиши керак. Масалан, талаба ҳ ақидаги берилганларни ўз ичига олувчи Talaba структураси туридаги берилганларни Talaba _ Manzili () функциясига параметр сифатида бериш учун функция прототипи қ уйидаги кўринишда бўлиши керак: void Talaba _ Manzili ( Talaba );void Talaba _ Manzili ( Talaba ); 1919 Структура функция аргументи сифатида struct Talaba { char FI Sh[ 30]; unsigned int Tug_yil; unsigned int Kurs; char Yunalish[50]; float Reyting; char Jinsi[6]; char Manzil[50]; bool status; };struct Talaba { char FI Sh[ 30]; unsigned int Tug_yil; unsigned int Kurs; char Yunalish[50]; float Reyting; char Jinsi[6]; char Manzil[50]; bool status; }; 2020 Структура функция аргументи сифатида void Talaba_Manzili(Talaba); int main() { Talaba talaba; talaba.Kurs=2; talaba.Tug_yil=1992; strcpy(talaba.FISh,&#34;Abdullaev A.A.&#34;); strcpy(talaba.Yunalish,“Kompyuter injiniring&#34;); strcpy(talaba.Jinsi,&#34;Erkak&#34;); strcpy(talaba.Manzil,&#34;Toshkent, Yunusobod …&#34;); talaba.Reyting=123.52; Talaba_Manzili(talaba); } void Talaba_Manzil i (Talaba t) { cout<<&#34;Talaba FI SH : &#34;<<t.FI Sh <<endl; cout<<&#34;Manzili: &#34;<<t.Manzil<<endl; getch(); }void Talaba_Manzili(Talaba); int main() { Talaba talaba; talaba.Kurs=2; talaba.Tug_yil=1992; strcpy(talaba.FISh,&#34;Abdullaev A.A.&#34;); strcpy(talaba.Yunalish,“Kompyuter injiniring&#34;); strcpy(talaba.Jinsi,&#34;Erkak&#34;); strcpy(talaba.Manzil,&#34;Toshkent, Yunusobod …&#34;); talaba.Reyting=123.52; Talaba_Manzili(talaba); } void Talaba_Manzil i (Talaba t) { cout<<&#34;Talaba FI SH : &#34;<<t.FI Sh <<endl; cout<<&#34;Manzili: &#34;<<t.Manzil<<endl; getch(); } 2121 Структура лар массиви const int n=25; Talaba talabalar[n]; const int n=25; Talaba talabalar[n]; Структуралар массивини эълон қилиш худди стандарт массивлар эълони қилишдек, фарқи массив тури ўрнида фойдаланувчи томонидан аниқланган структура турининг номи ёзилади. Масалан, талабалар ҳақидаги берилганларни ўз ичига олган массив яратиш эълони қуйидагича бўлади: Структуралар массиви элементларига мурожаат одатдаги массив элементларига мурожаат усуллари орқали, ҳар бир элементнинг майдонларига мурожаат эса ‘.’ орқали амалга оширилади. 2222 Структура лар массиви (мисол) const int n=25; struct Talaba { char FI Sh [30]; unsigned int Tug_yil; unsigned int Kurs; char Yunalish[50]; float Reyting; char Jinsi[6]; char Manzil[50]; bool status; }; void Talaba_Kiritish(Talaba t[]); void Talabalar_FISh(Talaba t[]); int main() { Talaba talabalar[n]; Talaba_Kiritish(talabalar); Talabalar_FISh(talabalar); getch(); return 0; }const int n=25; struct Talaba { char FI Sh [30]; unsigned int Tug_yil; unsigned int Kurs; char Yunalish[50]; float Reyting; char Jinsi[6]; char Manzil[50]; bool status; }; void Talaba_Kiritish(Talaba t[]); void Talabalar_FISh(Talaba t[]); int main() { Talaba talabalar[n]; Talaba_Kiritish(talabalar); Talabalar_FISh(talabalar); getch(); return 0; } 2323 Структура лар массиви (мисол) void Talabalar_FISh(Talaba t[]){ for(int i=0; i<n; i++) cout<<t[i].FI Sh <<endl; } void Talaba_Kiritish(Talaba t[]) { for(int i=0; i<n; i++) { cout<<i+1<<&#34;- talaba malumotlarini kiriting:&#34;; cout<<&#34;Talaba FISh :&#34;;cin.getline(t[i].FI Sh ,30); cout<<&#34;Kurs:&#34;; cin>>t[i].Kurs; cout<<&#34;Reyting bali:&#34;; cin>>t[i].Reyting; cout<<&#34;Tugilgan yili:&#34;; cin>>t[i].Tug_yil; cout<<&#34;Ta l im yonalishi:&#34;; cin.getline(t[i].Yunalish,50); cout<<&#34;Jinsi(erkak,ayol):&#34;; cin.getline(t[i].Jinsi,6); cout<<&#34;Yashash manzili:&#34;; cin.getline(t[i].Manzil,50); } }void Talabalar_FISh(Talaba t[]){ for(int i=0; i<n; i++) cout<<t[i].FI Sh <<endl; } void Talaba_Kiritish(Talaba t[]) { for(int i=0; i<n; i++) { cout<<i+1<<&#34;- talaba malumotlarini kiriting:&#34;; cout<<&#34;Talaba FISh :&#34;;cin.getline(t[i].FI Sh ,30); cout<<&#34;Kurs:&#34;; cin>>t[i].Kurs; cout<<&#34;Reyting bali:&#34;; cin>>t[i].Reyting; cout<<&#34;Tugilgan yili:&#34;; cin>>t[i].Tug_yil; cout<<&#34;Ta l im yonalishi:&#34;; cin.getline(t[i].Yunalish,50); cout<<&#34;Jinsi(erkak,ayol):&#34;; cin.getline(t[i].Jinsi,6); cout<<&#34;Yashash manzili:&#34;; cin.getline(t[i].Manzil,50); } } 2424 Структура га кўрсаткич Talaba * k_talaba;Talaba * k_talaba;Структура элементларига кўрсаткичлар орқали мурожаат қилиш мумкин. Бунинг учун структурага кўрсаткич ўзгарувчи эълон қилиниши керак. Масалан, юқорида келтирилган мисолда Talaba структурасига кўрсаткич қуйидагича эълон қилинади: Кўрсаткич орқали структура элементларига мурожаат ‘.’ билан эмас, балки «->» воситасида амалга оширилади: cout << k_talaba ->FISh;cout << k_talaba ->FISh; 2525 Структура га кўрсаткич Структураларни кўрсатгич ва мурожаат (&) воситасида функция аргументи сифатида узатиш мумкин. Қуйида келтирилган программа бўлагида структурани Talaba_Kiritish() функциясига кўрсаткич орқали, Talabalar_FISh() функциясига мурожаат орқали узатишга мисол келтирилган. void Talaba_Kiritish(Talaba *t); void Talabalar_FISh(Talaba & t); int main( ) { Talaba * k_talaba; k_talaba=(Talaba*)malloc(n*sizeof(Talaba)); Talaba_Kiritish(k_talaba); Talabalar_FISh(*k_talaba); return 0; }void Talaba_Kiritish(Talaba *t); void Talabalar_FISh(Talaba & t); int main( ) { Talaba * k_talaba; k_talaba=(Talaba*)malloc(n*sizeof(Talaba)); Talaba_Kiritish(k_talaba); Talabalar_FISh(*k_talaba); return 0; } 2626 Структура га кўрсаткич Структураларни кўрсатгич ва мурожаат(&) воситасида функция аргументи сифатида узатиш мумкин. Қуйида келтирилган программа бўлагида структурани Talaba_Kiritish() функциясига кўрсаткич орқали, Talabalar_FISh() функциясига мурожаат орқали узатишга мисол келтирилган. void Talabalar_FISh(Talaba & t) { for(int i=0; i<n; i++) { cout<<(&t+i)->FI Sh <<endl; } } void Talaba_Kiritish(Talaba *t) { for(int i=0; i<n; i++) {cout<<i+1<<&#34;- talaba malumotini kirit:&#34;; cout<<&#34;Talaba FISh :&#34;; cin.getline((t+i)->FI Sh ,30); cout<<&#34;Kurs:&#34;; cin>>(t + i )- > Kurs; … } }void Talabalar_FISh(Talaba & t) { for(int i=0; i<n; i++) { cout<<(&t+i)->FI Sh <<endl; } } void Talaba_Kiritish(Talaba *t) { for(int i=0; i<n; i++) {cout<<i+1<<&#34;- talaba malumotini kirit:&#34;; cout<<&#34;Talaba FISh :&#34;; cin.getline((t+i)->FI Sh ,30); cout<<&#34;Kurs:&#34;; cin>>(t + i )- > Kurs; … } } 2727 Разрядли майдон include<stdio.h> #include<conio.h> struct bit { unsigned int i:1; }; unsigned printbits(int c, struct bit pp[]) { unsigned int i; unsigned k = 8*sizeof(int); for(i = 0; i < k; i++) { pp[i].i = c&1; printf(&#34; %d&#34;, c&1); c>>= 1; } return k; }include<stdio.h> #include<conio.h> struct bit { unsigned int i:1; }; unsigned printbits(int c, struct bit pp[]) { unsigned int i; unsigned k = 8*sizeof(int); for(i = 0; i < k; i++) { pp[i].i = c&1; printf(&#34; %d&#34;, c&1); c>>= 1; } return k; }Razryadli maydonlar ixtiyoriy butun tipga tegishli bo’lishi mumkin. Razryadli maydonlar adresini olish mumkin emas. Xotirada razryadli maydonlarni joylashtirish kompilyator va apparaturaga bog’liq. Razryadli maydonlar yordamida razryadli massivlar hosil qilish mumkin. Yuqorida ko’rilgan son hamma bitlarini chiqarish dasturini quyidagicha yozish mumkin: 2828 Разрядли майдон int main() { unsigned int k, i; struct bit pp[100]; k = printbits(-5, pp); printf(&#34;\n&#34;); for(i = k-1; i > 0; i--) printf(&#34;%d &#34;, pp[i].i); printf(&#34;%d &#34;, pp[0].i); getch(); return 0; }int main() { unsigned int k, i; struct bit pp[100]; k = printbits(-5, pp); printf(&#34;\n&#34;); for(i = k-1; i > 0; i--) printf(&#34;%d &#34;, pp[i].i); printf(&#34;%d &#34;, pp[0].i); getch(); return 0; } 2929 Битли майдон Мисол: Юқоридаги тушунтириш учун мисол қараймиз. Бунга иккита бутун ў згарувчи m ва n қийматлар ва уларни 16 га бўлгандан сўнг қолдиқлар. Демак улар 4 та кичик ва 4 та катта байтларга киритилади. Сўнгра ҳосил қилинган байтнинг ичидагини кўри н иши чоп этилади . Дастур бажарилиши изоҳлар орқали ту ш унтирилган. Бу ерда бирлашмани иштилишига эътиб о рни қаратиш лозим. Cod () ф ункцияси Un би р лашмага кирувчи м аълумотлар hh структура элементларига маълумотларни ёзишни амалга о ш иради. Натижа эса битта бит кўринишида яна шу Un бирлашмадан олинад и . Binar () функция унга тескари бўлган ишни амалга оширади. #include <iostream.h> #include <stdio.h> #include <conio.h> int main () { unsigned char k; int m,n; void binar(unsigned char); /* funksiya prototipi */ unsigned char cod(int,int); /* funksiya prototipi */ printf(&#34;\n m= &#34;); scanf(&#34;%d&#34;,&m); printf(&#34; n= &#34;); scanf(&#34;%d&#34;,&n); k=cod(m,n); printf(&#34; cod=%u&#34;,k); binar(k); }#include <iostream.h> #include <stdio.h> #include <conio.h> int main () { unsigned char k; int m,n; void binar(unsigned char); /* funksiya prototipi */ unsigned char cod(int,int); /* funksiya prototipi */ printf(&#34;\n m= &#34;); scanf(&#34;%d&#34;,&m); printf(&#34; n= &#34;); scanf(&#34;%d&#34;,&n); k=cod(m,n); printf(&#34; cod=%u&#34;,k); binar(k); }Дастур матни /* Ikkita butun sonni 16 ga bo’lgandagi qoldiqni baytga o’tkazish */ unsigned char cod(int a, int b) { union { unsigned char z; struct { unsigned int x : 4; //Kichik bitlar unsigned int y : 4; //Katta bitlar } hh; } un ; un.hh.x=a%16; un.hh.y=b%16; return un.z; }/* Ikkita butun sonni 16 ga bo’lgandagi qoldiqni baytga o’tkazish */ unsigned char cod(int a, int b) { union { unsigned char z; struct { unsigned int x : 4; //Kichik bitlar unsigned int y : 4; //Katta bitlar } hh; } un ; un.hh.x=a%16; un.hh.y=b%16; return un.z; } /* binar - baytni ikkilikda tasvirlash */ int binar(unsigned char ch) { union { unsigned char ss; struct { unsigned a0 :1; unsigned a1 :1; unsigned a2 :1; unsigned a3 :1; unsigned a4 :1; unsigned a5 :1; unsigned a6 :1; unsigned a7 :1; } byte; } cod ; cod.ss=ch; printf(&#34;\n Bit raqami: 7 6 5 4 3 2 1 0&#34;) ; printf(&#34;\n Bitdagi qiymarlari: %d %d %d %d %d %d %d %d&#34;, cod.byte.a7, cod.byte.a6, cod.byte.a5, cod.byte.a4, cod.byte.a3, cod.byte.a2, cod.byte.a1, cod.byte.a0); getch(); return 0; }/* binar - baytni ikkilikda tasvirlash */ int binar(unsigned char ch) { union { unsigned char ss; struct { unsigned a0 :1; unsigned a1 :1; unsigned a2 :1; unsigned a3 :1; unsigned a4 :1; unsigned a5 :1; unsigned a6 :1; unsigned a7 :1; } byte; } cod ; cod.ss=ch; printf(&#34;\n Bit raqami: 7 6 5 4 3 2 1 0&#34;) ; printf(&#34;\n Bitdagi qiymarlari: %d %d %d %d %d %d %d %d&#34;, cod.byte.a7, cod.byte.a6, cod.byte.a5, cod.byte.a4, cod.byte.a3, cod.byte.a2, cod.byte.a1, cod.byte.a0); getch(); return 0; }