amaliy mashg’ulot. Borland C++ Builder muxitida texnik tizim murakab masalalarini dasturlashtirish. Muxandislik amaliyotidagi masalarni yichishda masssivlardan foydalanish



Yüklə 201,08 Kb.
Pdf görüntüsü
səhifə3/3
tarix19.04.2022
ölçüsü201,08 Kb.
#55758
1   2   3
7 amal

5.1-rasm. Tuzilgan dastur natijasi. 

 

2-misol. B(n,n) - ikki o‘lchamli massiv berilgan. Agar  b=3 bo‘lsa massiv quyidagi ko‘rinishda 

bo‘ladi          

 

11



12

13

21



22

23

31



32

33

b



b

b

b

b

b

b

b

b







 . 



Massivning izi  (Sl) va elementlari yig‘indisi  (St)  topilsin. 


Matritsa izi bu asosiy diagonaldagi elementlar yig‘indisidir.  

//--------------------------------------------------------------------------- 

  #include 

 #include 

#include  

#pragma hdrstop 

//--------------------------------------------------------------------------- 

#pragma argsused 

int main(int argc, char* argv[]) 

{ const k=20; 

float b[k][k]; float sl=0, st=0; 

int n,m,i,j; 

cout<<"satrlar soni ";   cin>>n; 

cout<<"ustunlar soni ";   cin>>m; 

for (i=0; i

for (j=0; j>b[i][j]; 

sl+=b[0][0];              

for (i=1; i

 for (j=1; j

  for (i=0; i

  for (j=0; j

 cout<<"matrisa izi Sl="<

 cout<<"elementlar yigindisi St= "<

  getch();         return 0; 

//--------------------------------------------------------------------------- 



 

Forma ilovasida massivlarni ishlatish 

 

Forma ilovasida bir o‘lchamli va ko‘p o‘lchamli massivlar bilan ishlash uchun bir nechta 



komponentalari mo‘jallangan: ListBox, ComboBox,StringGrid componentalari. 

ListBox va ComboBox komponentalari bir o‘lchamli massiv elementlarini Formaga kiritish va 

chiqarish uchun foydalaniladi, StringGrid komponentasi ikki o‘lchamli massivlar bilan ishlashda 

qo‘llaniladi, massivlar jadval ko‘rinishida kiritiladi va chiqariladi. 

 

StringGrid komponentasi 



 

StringGrid jadval komponentasi ikki o‘lchovli matritsa elementlari qiymatini ekranda jadval 

ko‘rinishda tasvirlash, ular qiymatini kiritish va tahrirlash uchun ishlatiladi. Standart holda jadval 

qator va ustun rahamlari noldan boshlanadi. Jadval ustun va qatorlar sonini uning xossasi 

yordamida o‘rnatiladi. StringGrid – jadval komponentasining asosiy xossalari: 

ColCount – jadvaldagi ustunlar sonini aniqlaydi

RowCount – jadvaldagi satrlar sonini aniqlaydi; 

FixedCols – fiksirlangan ustunlar sonini aniqlaydi; 

FixedRows – fiksirlangan satrlar sonini aniqlaydi; 

Options – jadval holatini aniqlaydi (aniqlash asosan uning parametrlarida bajariladi, masalan, 

GoEditing parametr true qiymatga ega bo‘lsa, yacheykani tahrirlash mumkin, aks holda mumkin 

emas); 

ColWidths – jadvaldagi har bir ustun kengligini aniqlaydi

DefaultColWidth – jadvalning boshlang‘ich ustunlar kengligini aniqlaydi; 

DefaultRowHeight – jadval satrining boshlang‘ich balandligini aniqlaydi; 

FixedColor – fiksirlangan yacheyka rangini aniqlaydi; 



RowHeights – jadval satri balandligini aniqlaydi

Cells – simvol qatorli ikki o‘lchamli massivni aniqlaydi. 

 

3-misol. Tasodifiy butun sonlar bilan to‘ldirilgan butun sonlardan iborat matritsa berilgan. 

Matritsaning maksimal, minimal elementlari va elementlar yig‘indisi topilsin. 

Forma dizaynini yaratib olamiz: 

1) yangi forma yaratamiz. Yaratilgan formaga 1 ta StringGrid, 1 ta label, 4 ta Button va 1 ta Edit 

komponentalarini o‘rnatamiz. Object inspector bo‘limida StringGrid komponentasining 

xususiyatlarini quyidagicha o‘zgartiramiz: 

FixedCols -0,  

FixedRows -0, 

ColCount -5, 

RowCount -5; 

2) Option xossasiga kirib, GoEditing parametrini True qiymatiga o‘zgartiramiz;  

3) dastur kodini quyidagicha yozamiz: 

 

//--------------------------------------------------------------------------- 



#include  

#pragma hdrstop 

#include "Unit1.h" 

//--------------------------------------------------------------------------- 

#pragma package(smart_init) 

#pragma resource "*.dfm" 

TForm1 *Form1; 

//--------------------------------------------------------------------------- 

__fastcall TForm1::TForm1(TComponent* Owner) 

        : TForm(Owner) 



//--------------------------------------------------------------------------- 



int a[5][5]; 

   int i,j,s,max,min; 

void __fastcall TForm1::Button1Click(TObject *Sender) 

{  for (i=0;i<=4;i++) 

 for (j=0;j<=4;j++) 

 { 


 a[i][j]=random(50); 

 StringGrid1->Cells[i][j]=IntToStr(a[i][j]); 



   void __fastcall TForm1::Button2Click(TObject *Sender) 



{max=a[0][0]; 

for (i=0;i<=4;i++) 

 for (j=0;j<=4;j++) 

 if(a[i][j]>max) max=a[i][j]; 

 Edit1->Text=IntToStr(max); 

………………………………………………………………………… 



   void __fastcall TForm1::Button2Click(TObject *Sender) 

                 {min=a[0][0]; 

for (i=0;i<=4;i++) 

 for (j=0;j<=4;j++) 




 if(a[i][j] Edit2->Text=IntToStr(min); 

//--------------------------------------------------------------------------- 



Dastur quyidagi ilovada bajariladi(5.2-rasm) :  

 

 Dastur ilovasi 

 

Topshiriqlar 



A massivining musbat elementlari yig‘indisi va manfiy elementlarining ko‘paytmasi hisoblansin. 

A  massivi musbat elementlarining eng kichigi topilsin. 

A  massiv elementlarini teskari tartibda Y massiviga yozing. 

Butun sonlardan tashkil topgan (a1,…,an) massivi berilgan. Massivning juft o‘rinlarida 

joylashgan manfiy elementlarini nolga almashtiring. 

X massivi manfiy elementlarining o‘rtacha arifmetik qiymati hisoblansin. Agar manfiy 

elementlar mavjud bo‘lmasa, S=0 degan ma‘lumot bosmaga chiqarilsin. 

   Kvadrat matritsa haqiqiy  sonlardan tashkil topgan. Matritsaning eng kichik qiymati joylashgan 

qator elementlari yig‘indisi topilsin. 

Haqiqiy sonlardan tashkil topgan kvadrat matritsa berilgan. Matritsaning asosiy diagonal 

elementlari yig‘indisi hisoblansin va diagonal elementlarning eng kattasi aniqlansin. 

X massivining juft o‘rinlarida joylangan elementlarining o‘rtacha arifmetik qiymati hisoblansin. 

 

Nazorat  savollari: 



1. Massiv deb nimaga aytiladi? 

2. Necha xil massivlar mavjud? 

3. StringGrid komponentasining qanday xossalari mavjud? 

4. Massivlar qaysi bo‘limda e’lon qilinadi? 



 Adabiyotlar: Alex Allain. Jumping into C++. USA, 2014. p 340. 

Nazirov Sh.A., Qobulov R.V., Bobojonov M.R., Raxmanov Q.S. C va C++ tili. Darslik. –

T.: “Voris”, 2013. -488 b.

 

 



 

Yüklə 201,08 Kb.

Dostları ilə paylaş:
1   2   3




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

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin