C + + Belgili massivlar. Satirli funksiyalar bilan ishlash Reja


List * n q new List; // Yangi



Yüklə 146,16 Kb.
səhifə7/7
tarix01.01.2022
ölçüsü146,16 Kb.
#107354
1   2   3   4   5   6   7
C Belgili massivlar. Satirli funksiyalar bilan ishlash

List * n q new List; // Yangi

element hosil qilish

n->prev q w; // 1 - amal

n->next q w->next; // 2 - amal

if (w->next) {w->next->prev q n;} // 3 - amal

w->next q n; // 4 - amal

n->Data q data; // funksional

elementni initsializatsiya qilish

Qo‘yish har doim so‘nggi elementdan bajarilganligi uchun w- >next ning qiymati har doim nol bo‘ladi, ya’ni 3-amal hech qachon bajarilmaydi, shuning uchun uni tushirib qoldirish mumkin. Dasturning asosiy kodida bu amal tushirib qoldirilgan.



Dastur kodi

#include

#pragma hdrstop

#include "Unit1.h"

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

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

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

struct List

{

List* prev;

List* next;

AnsiString Data;

};

List* add(List* w, AnsiString data) // Ro‘yxatga element qo‘shish

{

List * n = new List;

n->prev = w;

n->next = w->next;

w->next = n;

n->Data = data;

return n;

}

List* del(List* w) // Ro‘yxatdan elementni o‘chirish

{

if(w->prev){w->prev->next = w->next;}

if(w->next){w->next->prev = w->prev;}

List * r;

if(w->next) {r = w->next;} else {r = w->prev;}

delete w;

return r;

}

List First; // Ro‘yxatning boshi

List* Last = &First; // Ro‘yxatning oxiri

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

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

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

void __fastcall TForm1::Button1Click(TObject *Sender)

{

Memo1->Lines->Clear();

List* m = &First;

while(m)

{

Memo1->Lines->Add(m->Data);

m = m->next;

}

}

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

void __fastcall TForm1::Button2Click(TObject *Sender)

{

Last = add(Last,Edit1->Text);

Edit1->Text = "";

}

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

void __fastcall TForm1::Button3Click(TObject *Sender)

{

Last = del(Last);

}

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

void __fastcall TForm1::Button4Click(TObject *Sender)

{

while(Last != &First)

{

Last = del(Last);

}

}

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

void __fastcall TForm1::FormCreate(TObject *Sender)

{

First.next = 0;

First.prev = 0;

First.Data = "Ro‘yxatning boshi";

}

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

void __fastcall TForm1::FormDestroy(TObject *Sender)

{

Button4->Click();

Foydalangan adabiyotlar hamda elektron saytlar:
1.P.Karimov,S.Irisqulov,A.Isaboyev “Dasturlash”Toshkenet Ozbekiston nashriyoti_2003 yil.

2.Sh.A.Nazirov, R.V.Qobulov “Obektga mo`ljallangan dasturlash” Toshkent-2009 yil.

3.H.Rahimov,T.Dehqonov C++ Zamonaviy dasturlash tillari.

4.Гради Бuч. Объектно –ориентированной анализ и проектирование с примерами приложений на С++. Невский диалект, 2001 г



5. Грехем И. Объектно ориентированные методы. Принсипы и практика. Вильямс. 2004

Internet elektron saytlar: www.ziyonet uz , www.nkmk.uz www.ndpu.uz, www.tdtu.library.uz
Yüklə 146,16 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6   7




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

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin