Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Laboratoriya jumısı_5

.1.doc
Скачиваний:
0
Добавлен:
10.09.2024
Размер:
3.32 Mб
Скачать

Laboratoriya jumısı 5.1 S++ Builder 6 ortalıǵında bir ólshemli massivlerdi qayta islewge programma dúziw.

Jumıstıń maqseti: Bir ólshemli massivlerge programma duziw hám onı orınlaw. StringGrid

komponentası qásiyeti menen tanısıw.

Mısal

Massivtiń maksimal hám minimal elementler arasındaǵı elementlerdiń kóbeymesin eseplawshı dastur dúziw.

Pusk-programmı-Borland C++Builder 6. Nátiyjede tómendegishe taza Project 1 ayna ashıladı.

File-Save Project As… tańlaymız nátiyjede tómendegi ayna ashıladı.

Work 5.1 papka jaratıp sonıń ishine saqlaymız.

Komponentalar palitrasınan Standart vkladkasın tańlaymız.

Label knopkasın tańlap Form1 aynasına mısh penen tartıp qoyamız. Bul proсessti 3 márte qaytalaymız.

Label1 sózin ózgertiw ushın Object Inspector aynasınan Properties-Saption-Label1 di ÓLShEMI n= ge ózgertemiz.

Object Inspector aynasınan Properties –Font - mıshtı shertip shriftti ózgertemiz. (18) OK túymesin basamız.

Label2 sózin ózgertiw ushın Object Inspector aynasınan Properties-Saption-Label2 di Berilgen massiv ke ózgertemiz.

Label1 sózin ózgertiw ushın Object Inspector aynasınan Properties-Saption-Label1 di Alınǵan massiv ke ózgertemiz.

Endi Edit knopkasın tańlaymız.

Onı Label1 yaǵnıy ÓLShEMI n= knopkasınıń qasına oń jaǵına qoyamız.

Edit sózlerin joq etiw ushın Object Inspector aynasınan Properties-Text-Edit1 den Edit1 sózin óshiremiz. Nátiyjede ayna kórnisi tómendegishe:

Komponentalar palitrasınan Additional vkladkasın tańlaymız.

Additional vkladkasınan StringGrid knopkasın tańlaymız.

-StringGrid1 de turıp Object Inspector aynasınan Properties-ColCount qa 2, RowCount qa 1, FixedCols hám FixedRows lerge 0, DefaultColWidth ge 40 dep jazamız.

-StringGrid2 de turıp Object Inspector aynasınan Properties-ColCount qa 2, RowCount qa 1, FixedCols hám FixedRows lerge 0, DefaultColWidth ge 40 dep jazamız.

StringGrid1 ge klaviaturadan maǵlıwmat(san) kiritiwge ruxsat alıw ushın StringGrid1 de turıp

Properties -Options -goEditing mánisin true dep alıń.

Endi Button1 knopkasın tańlap Form1 aynasına mısh penen tartıp qoyamız.

Button2 knopkasın tańlap Form1 aynasına mısh penen tartıp qoyamız.

Button1 knopkasınıń atın ózgertiw ushın Object Inspector aynasınan Properties- Saption- Button1 Olshemin ozgertiu sózine ózgertemiz.

Button2 knopkasınıń atın ózgertiw ushın Object Inspector aynasınan Properties- Saption- Button2 ORÍNLAUsózine ózgertemiz.

Jane bir Label knopkasın tańlap Form1 aynasına mısh penen tartıp qoyamız

Form1 aynasında turıp mıshtı eki ret shertemiz, Nátiyjede Unit1.cpp aynasında mına kórinistegi kod payda boladı.Sonıń ishine tómendegilerdi jazamız:

int n = 4;

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

void __fastcall TForm1::FormCreate(TObject *Sender)

{

randomize();

Edit1->Text=IntToStr(n);

StringGrid1->ColCount=n; // ColCount bagana sanı n ge baylanıslı

for(int i=0; i<n;i++) // A massivti xar kıyli sanlar menen toltırıu

StringGrid1->Cells[i][0] = IntToStr(random(21)-10); }

Soń Button1 knopkasın eki márte shertemiz. Nátiyjede Code Editor(Redaktor koda) yaǵnıy Unit1.cpp aynasında tómendegishe kod payda boladı. Onıń ishine tómendegilerdi jazamız.

n=StrToInt(Edit1->Text);

if(n>10) { ShowMessage(" n nin maksimal sanı 10");

n=10;

Edit1->Text = "10";

}

StringGrid1->ColCount=n;

for(int i=0; i<n;i++)

StringGrid1->Cells[i][0]=IntToStr(random(21)-10);

Jáne Button2(Memo ni tazala) knopkasın eki márte shertemiz. Nátiyjede Code Editor(ORÍNLAU) yaǵnıy Unit1.cpp aynasında kod payda boladı. Onıń ishine tómendegini jazamız.

int i, a[10];

for(i=0; i<n;i++) { a[i]=0; a[i]=StrToInt(StringGrid1->Cells[i][0]); };

//A Massivtiń maksimal hám minimal elementler arasındaǵı elementlerdiń kóbeymesin eseplaw

int min; min=a[0];

for (i=1; i<n; i++) if (a[i]<=min) min=a[i];

int max; max=a[0];

for (i=1; i<n; i++) if (a[i]>=max) max=a[i];

int p=1;

StringGrid2->ColCount=n;

for(i=0; i<n;i++) if(max>a[i] && min<a[i])

{

p=p*a[i]; // Kobeymeni esaplau

StringGrid2->Cells[i][0] = IntToStr(a[i]);

}

Label4->Caption="p="+IntToStr(p); // Natiyjeni label4 shıgarıu

Hámmesin kiritip jazıp bolǵannan keyin Project menyusinen Compile Unit yamasa(alt +F9) tańlaymız.

Eger xammesi tuwrı bolsa onda dastur tómendegi aynanı shıǵaradı.

Aqırında Run menyusinen Run dı yamasa F9 tańlaymız(Instrumentler panelinen mına piktogrammanı basamız. Mına ayna payda boladı. ORÍNLAW túymesin basamız. Nátiyjede tómendegi aynada nátiyje payda boladı.

5.1. Tapsırmalar

Bir ólshemli massivlerdi qayta islewge programma dúziń. Massiv ólshemlerin klaviaturadan kiritiń. Qollanba aynasın dúzgende skalyar nátiyjelerdi shıǵarıwda Label komponentasınan, al massivlerdi kiritiwdi hám shıǵarıwdı StringGrid komponentasınan paydalanıń.

Klaviaturadan kiritiletuǵın n pútin elementlerden ibarat bir ólshemli massivte mınalardı esaplań:

  1. Birinshi hám keyingi elementi arasındaǵı elementler summasın tabıń.

  2. Eń keyingi oń elementke shekemgi elementler summasın tabıń.

  3. Birinshi hám keyingi oń elementler arasındaǵı elementler summasın tabıń.

  4. Birinshi hám keyingi elementi arasındaǵı elementler kóbeymesin tabıń.

  5. Birinshi hám keyingi nol elementler arasındaǵı elementler summasın tabıń.

  6. Birinshi hám keyingi elementi arasındaǵı elementler summasın tabıń.

  7. Birinshi hám keyingi nol elementler arasındaǵı elementler kóbeymesin tabıń.

  8. Birinshi hám keyingi teris elementler arasındaǵı elementler summasın tabıń.

  9. Birinshi hám keyingi teris elementler arasındaǵı elementler kóbeymesin tabıń.

  10. Minimal elementke shekemgi elementler summasın tabıń.

  11. Maksimal elementke shekemgi elementler summasın tabıń.

  12. Minimal elementke shekemgi elementler kóbeymesin tabıń.

  13. Maksimal elementke shekemgi elementler kóbeymesin tabıń.

  14. Massivtiń teris elementleriniń modulleri summasın tabıń.

  15. Massivtiń oń elementleriniń ortasha mánisin tabıń.

  16. Massivtiń nolge teń elementten keyingi elementleri summasın tabıń.

  17. Massivtiń nolge teń elementten keyingi elementleri kóbeymesin tabıń.

  18. Massivtiń birinshi teris elementten keyingi elementleri summasın tabıń.

  19. Massivtiń birinshi teris elementten keyingi elementleri kóbeymesin tabıń.

  20. Minimal elementten keyingi elementler summasın tabıń.

  21. Maksimal elementten keyingi elementler summasın tabıń.

  22. Minimal elementten keyingi elementler kóbeymesin tabıń.

  23. Maksimal elementten keyingi elementler kóbeymesin tabıń.

  24. Birinshi hám keyingi nol elementi arasındaǵı elementler summasın tabıń.

Соседние файлы в предмете Программирование на C++