1. Sintaksisga kirish Dastur yaratish muhiti



Yüklə 1,17 Mb.
səhifə31/34
tarix19.09.2022
ölçüsü1,17 Mb.
#63802
1   ...   26   27   28   29   30   31   32   33   34
1 kurslarga moljallangan Dasturlash 2 fanidan C Builder muhitida (2)

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();
}

Nazorat savollari


1) Xotirani dinamik taqsimlash deb nimaga aytiladi?
2) Xotirani statik va dinamik taqsimlash nima bilan farq qiladi?
3) Dinamik ajratilgan xotira bilan ish ko’rish uchun qanday buyruqlardan foydalaniladi



Yüklə 1,17 Mb.

Dostları ilə paylaş:
1   ...   26   27   28   29   30   31   32   33   34




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

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin