C++ proqramlaşdırma dİlİ 19. 12. 2011



Yüklə 0,74 Mb.
səhifə11/11
tarix17.11.2018
ölçüsü0,74 Mb.
#80411
növüNümunə proqram
1   2   3   4   5   6   7   8   9   10   11

return 0;

}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

syh_el *siyahi_yarat( syh_el *syh, int elem_say)

{ syh_el *

p, *

q;

p=syh;



q=syh;

int i,dey;

char bufer[30];

for (i=1; i<=elem_say; ++i)

{ std::cout<<"siyahinin "<

<<" -ci elementinin x ve ad heddlerini daxil edin \n";

memset(bufer,0,30);

std::cin>>dey>>bufer;

p = new syh_el;

p->x = dey;

strncpy(p->ad,bufer,20);

*(p->ad + 20) = '\0';

p->novb_el = NULL;



if (syh==NULL){

syh=p;


q = p;

p = NULL; }



else {

q->novb_el = p;

q = p;

}} return syh;



}

//=================================================

void siyahini_cap_et (syh_el *syh)

{ syh_el *

p;

int dey, fix = 0;



char bufer[30];

p = syh;


if (syh == NULL ) {

std::cout<<"Siyahi boshdur \n";



return;

} std::cout<<"Siyahinin elementleri \

n";

while(p!=NULL)

{ /*elementlerin capinin ekanda gozel gorunmesi ucun*/



if (fix++ != 0) std::cout<<" -> ";

dey = p->x;

memset(bufer,0,30);

strncpy(bufer, p->ad, 20);

*(bufer + 20) = '\0';

std::cout<<"("<

p = p->novb_el; /* novbeti elemente kec */

} std::cout<<"\n";

}

//============================================

syh_el *siyahi_sil(syh_el *syh, int elem, int say)

{ syh_el *

p, *


q;

p=syh;


int i,dey;

if (syh==NULL)

return NULL; /* siyahi boshdur */

if (elem==1)

{ /* silmek istediyimiz element ilk elementdir */

syh = p->novb_el;

p->novb_el = NULL;



delete p;

return syh;

}

for (i=1; i

if (p==NULL) break;

else

p = p->novb_el;



if (p==NULL){

std::cout<<"Siyahida "



<
return syh;

} q=p;


/*

indi q simek istediyimiz yerin bashlangicina istinad edir

p -ni bu elementden bashlayaraq say qeder sona

surushdurmeliyik

*/

for (i=0; i
if (p==NULL) break;

else

p = p->novb_el;



if (p==NULL){

std::cout<<"Siyahida "



<
return syh;

}

if (p->novb_el==NULL)

{ /* siyahini q-den bashlayaraq sona kimi silmeliyik */

q->novb_el=NULL;



delete p;

p=q=NULL;



return syh;

}

q->novb_el = p->novb_el;



p->novb_el = NULL;

delete p;

q=NULL;


return syh;

}

Netice:



C:\cpp\prog2\Debug>

C:\cpp\prog2\Debug>./prog2.exe

Siyahinin elementlerinin sayini daxil edin

9

siyahinin 1-ci elementinin x heddini daxil edin

1

siyahinin 2-ci elementinin x heddini daxil edin

2 siyah

inin 3-ci elementinin x heddini daxil edin

3

siyahinin 4-ci elementinin x heddini daxil edin

4

siyahinin 5-ci elementinin x heddini daxil edin

5

siyahinin 6-ci elementinin x heddini daxil edin

6

siyahinin 7-ci elementinin x heddini daxil edin

7

siyahinin 8-ci elementinin x heddini daxil edin

8

siyahinin 9-ci elementinin x heddini daxil edin

9

Siyahinin elementleri

(1) -> (2) -> (3) -> (4) -> (5) -> (6) -> (7) -> (8) -> (9)

Siayhidan silmek istediyiniz elementlerin

bashlangic indeksini ve sayini daxil edin

3 4

Siyahinin elementleri

(1) -> (2) -> (7) -> (8) -> (9)

C:\cpp\prog2\Debug>

C:\cpp\prog2\Debug>

Qeydlər

Oxucular ьзьn:

Bu buraxılışda əsasən sintaktik səhvlərin aradan qaldırılması və bəzi yerlərdə proqram

kodunun və izahın əlavə olunmasına ьstьnlьk verdik.

Зox istədik ki, Obyekt yцnьmlь proqramlaşdırmanın Varislik və Polimorfizm kimi mцvzuların

əlavə edək, amma bu buraxılışda buna imkanımız olmadı.

Qurucular ьзьn:

Kitabın gələcək buraxılışlarının hazırlanmasında , kitabda olan mцvzuların

təkmilləşdirilməsində, yeni mцvzuların və proqram nьmunələrinin əlavə olunmasında kцnьllь

kцməklik gцstərmək istəyən proqramзılar mьəlliflə aşağıdakı ьnvandan əlaqə saxlaya bilər.

ahmed.sadikhov@gmail.com

Gцrьlməli işlər:

1. Continue və break operatorlarına aid proqram nьmunəsi, izahın yenilənməsi.

2. Mьqaisə əməllərinin 3.1 -dən əvvələ keзirilməsi + proqram kodu.

3. Rekursiv funksiyaların izahı və proqram kodu nьmunəsi

4. Bьtьn nəticələrdə proqram adları prog2.exe kimi gцstərilib, mьvafiq adlarla dəyişmək.

5. Ьnvan dəyişənləri ьzərində hesab əməlləri + proqram kodu.

6. Null qiymətinin izahı + proqram kodu ($4). Hazırki buraxılışda NULL barəsində ancaq $9

-da qısa izah verilir.

7. Varislik mцvzusunun əlavə olunması

8. Polimorfizm mцvzusunun əlavə olunması

9. Axınlar (streams) mцvzusunun əlavə olunması

10. İkiistiqamətli siyahılar, ağaclar, nцvbələr, steklər mцvzularının əlavə olunması

11. Const, statik, volatile, external dəyişən və funksiyalara aid mцvzunun əlavə olunması +

proqram kodu

12. Fayllarla işləmə funksiyalarına aid mцvzunun əlavə olunması



13. Proqram nьmunələrinin artırılması, yeni зalışmaların əlavə olunması
Yüklə 0,74 Mb.

Dostları ilə paylaş:
1   2   3   4   5   6   7   8   9   10   11




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

    Ana səhifə