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

Laboratoriya jumısı_6

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

Laboratoriya jumısı 6.1 S++ Builder 6 ortalıǵında eki ólshemli dinamikalıq massivler menen jumıs islewge programma dúziw.

1. NM ólshemge iye matriсadan B vektorın alıw, onıń k-inshi elementine 0 beremiz eger matriсanıń k -inshi baǵanasınıń barlıq elementleri 0 bolsa, kerisinshe bolsa 1 beriledi.

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

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

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

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

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

Endi Edit1 knopkasın tańlaymız. Edit2 knopkasın tańlaymız.

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 3, RowCount qa 3, FixedCols hám FixedRows lerge 1 kiritemiz.

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

StringGrid 1, StringGrid 2, 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 Orınlaw1 sózine ózgertemiz.

Button2 knopkasınıń atın ózgertiw ushın Object Inspector aynasınan Properties- Saption- Button2 Orınlaw2 sózine ózgertemiz.

Button1 knopkası 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, m=3;

void __fastcall TForm1::Button1Click(TObject *Sender)

{

Edit1->Text=IntToStr(n);

Edit2->Text=IntToStr(m);

StringGrid1->ColCount = m+1; // bagana

StringGrid1->RowCount = n+1; // katar

StringGrid2->RowCount = n+1; // katar

StringGrid1->Cells[0][0] = "Matriсa A";

StringGrid2->Cells[0][0] = "Massiv B";

for(int i=1; i<=n;i++){

StringGrid1->Cells[0][i]="i="+IntToStr(i);

StringGrid1->Cells[i][0]="j="+IntToStr(i); }

for(int j=0; j<=n;j++) {

for(int i=0; i<=m;i++) StringGrid1->Cells[j+1][i+1]=(i+2)*(2*j+1);

}

}

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

void __fastcall TForm1::Button2Click(TObject *Sender)

{

for(int j=0; j<=n;j++) {

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

if(StringGrid1->Cells[j+1][i+1]==0) StringGrid2->Cells[0][i+1]=0;

else StringGrid2->Cells[0][i+1]=1;

}

}

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ı. Esaplaw túymesin basamız. Nátiyjede tómendegi aynada nátiyje payda boladı.

6.1. Tapsırmalar

Dinamikalıq massivlerdi qayta islew programmasın jazıń. Massivler ólshemlerin klaviaturadan kiritiń. Aynalıq qollanba dúzgende ápiwayı nátiyjeni shıǵarıw ushın Label komponentasınan, al massivlerdi kiritiw hám shıǵarıwda StringGrid komponentasınan paydalanıń hám onıń 0-shi baǵanası hám 0-shi qatarına massivlerdiń indekslerin jazıń.

1. NM ólshemli matriсadan vektor B nı payda etiń, onıń ushın matriсanıń k-shı qatarınıń elementleri kemiw tártibinde saralanǵan bolsa B vektordıń k-shı elementine 1 mánisin beriń, saralanbaǵan bolsa 0 mánisin beriń.

2. NM ólshemli matriсadan vektor B nı payda etiń, onıń ushın matriсanıń k-shı qatarı simmetriyalı bolsa B vektordıń k-shı elementine 1 mánisin beriń, simmetriyalı bolmasa 0 mánisin beriń.

3. NM ólshemli matriсa berilgen. Matriсanıń ayrıqsha elementleri sanın anıqlań. Element ayrıqsha delinedi eger ol óziniń baǵanasında jatqan basqa elementler summasınan úlken bolsa.

4. NM ólshemli matriсa berilgen. Matriсanıń sonday elementleri sanın anıqlań, yaǵnıy onıń oń jaǵında kishi element, al shep jaǵında úlken element jaylasqan bolsın.

5 NM ólshemli matriсa berilgen. Matriсanıń hár qıylı elementleri sanın anıqlań, yaǵnıy qaytalanıwshı element bolsa bir ret sanaladı .

6. NM ólshemli matriсada qatarlardı birinshi elementleriniń ósiw tártibinde saralań.

7. NM ólshemli matriсada qatarlardı elementleriniń summasınıń ósiw tártibinde saralań.

8. NM ólshemli matriсada qatarlardı eń úlken elementleriniń ósiw tártibinde saralań.

9. Kvadrat matriсanıń bas diagonal janındaǵı diagonallar boyınsha simmetriyalı bolıwın anıqlań.

10. NM ólshemli matriсa berilgen. Matriсanıń sonday elementleri sanın anıqlań, yaǵnıy onıń oń jaǵında úlken element, al shep jaǵında kishi element jaylasqan bolsın.

11. Kvadrat matriсanıń bas diagonal joqarısındaǵı elementler kóbeymesin tabıń.

12. Kvadrat matriсanıń bas diagonal tómenindegi elementler ishinen eń úlkenin tabıń.

13. . NM ólshemli matriсada eń kishi element jaylasqan qatardı eń úlken element jaylasqan qatar menen almastırıń.

14. n pólshemli matriсadan n-1 ólshemli matriсanı keltirip shıǵarıń. Onıń ushın moduli boyınsha eń úlken element jaylasqan qatar menen baǵananı matriсadan alıp taslań.

15. n pólshemli matriсada bas diagonal tómenindegi elementler summasın hám bas diagonal joqarısındaǵı elementler kóbeymesin tabıń.