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



Yüklə 0,74 Mb.
səhifə8/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

#define MAX 8

int main()

{ int i,x[MAX];

for (i=0, i

x[i]=i;


return 0;

}

Bu proqram 8 elementli tam tipli x cərgəsi elan edir və onun elementlərinə 0-dan 7-yə kimi



qiymətlər mənimsədir.

Şərt makrosları

Şərt makrosları #ifdef , #ifndef , #endif direktivlədən istifadə olunaraq yaradılır.Şərt makrosları

bizə imkan verir ki, mьəyyən şərtdən asılı olaraq proqramın hər-hansı hissəsinin kompilyator

tərəfindən nəzərə alınmamasını təmin edək.

Sintaksis belədir:

# if şərt

proqram kodu

#endif

Bu zaman əgər şərt 1 qiyməti alarsa onda kompilyator proqram kodu hisəsini nəzərə

alacaq, əks halda isə bu hissə kompilyator tərəfindən inkar ediləcək, başqa sцzlə şərh kimi

qəbul olunacaq.

Əlavələr

Əlavə A – bəzi standanrt funksiyalar

sdt::cout funksiyası.

sdt::cout funksiyası yaddaşın mьxtəlif məlumatları ekrana зap etmək ьзьn istifadə olunur.

Misal ьзьn əgər ekranda "Salam dunya" sətrini зap etmək istəyiriksə onda aşağıdakı kimi

yazırıq:

std::cout<<"Salam dunya";

Əgər sdt::cout vastəsilə ekrana mьxtəlif məlumatlar gцndərmək istəyiriksə onda bir neзə

mьxtəlif məlumatı "<<" vastəsilə birləşdirə bilərik. Misal ьзьn tutaq ki, x,y,z dəyişənlərinin

qiymətlərini зap etmək istəyirəm. Onda kod aşağıdakı kimi olar:



std::cout<

std::cin funksiyası.

std::cin funksiyası std::cout funksiyasının gцrdьyь işin əksini gцrьr. Əgər std::cout vastəsilə biz

dəyişənlərin qiymətlərin ekrana зap edirdiksə, std::cin vastəsilə biz istifadəзinin klaviaturadan

daxil etdiyi qiymətləri dəyişənlərə mənimsədirik. Misal ьзьn əgər mən hər-hansı x

dəyişəninə istifadəзinin daxil etdiyi qiymət mənimsətmək istəyirəmsə onda aşağıdakı kimi

yazıram:

std::cin>>x;

std::cin std::cout kimi bir neзə dəyişənlə eyni anda işləməyə imkan verir. Misal ьзьn əgər

mən x,y,z dəyişənlərinə istifadəзi tərəfindən daxil olunan qiymət mnimsətmək istəyirəmsə

onda yaza bilərəm:

std::cin>>x>>y>>z;

Əlavə B. ASCII Kodlar Cədvəli.

Bu cədvəldən istifadə etmək ьзьn , sadəcə lazım olan simvolu tap və solda yerləşən

rəqəmlə yuxarıda yerləşən rəqəmin cəmi bu simvolun kodunu gцstərir.

Cədvəl B-1.10-luq say sistemində ASCII Kodlar Cədvəli.



Char Dec

\0 0 (sp) 32 @ 64 ` 96

(soh) 1 ! 33 A 65 a 97

(stx) 2 " 34 B 66 b 98

(etx) 3 # 35 C 67 c 99

(eot) 4 $ 36 D 68 d 100

(enq) 5 % 37 E 69 e 101

(ack) 6 & 38 F 70 f 102

(bel) 7 ' 39 G 71 g 103

(bs) 8 ( 40 H 72 h 104

\t 9 ) 41 I 73 i 105

\n 10 * 42 J 74 j 106

(vt) 11 + 43 K 75 k 107

(np) 12 , 44 L 76 l 108

(cr) 13 - 45 M 77 m 109

(so) 14 . 46 N 78 n 110

(si) 15 / 47 O 79 o 111

(dle) 16 0 48 P 80 p 112

(dc1) 17 1 49 Q 81 q 113

(dc2) 18 2 50 R 82 r 114

(dc3) 19 3 51 S 83 s 115

(dc4) 20 4 52 T 84 t 116

(nak) 21 5 53 U 85 u 117

(syn) 22 6 54 V 86 v 118

(etb) 23 7 55 W 87 w 119

(can) 24 8 56 X 88 x 120

(em) 25 9 57 Y 89 y 121

(sub) 26 : 58 Z 90 z 122

(esc) 27 ; 59 [ 91 { 123

(fs) 28 < 60 \ 92 | 124

(gs) 29 = 61 ] 93 } 125

(rs) 30 > 62 ^ 94 ~ 126

(us) 31 ? 63 _ 95 (del ) 127

Bəzi зalışmaların həlləri

$1. Giriş

5 - ci çalışma.

Ekranda Mən C++ dilini örgənirəm sətrini çap edən proqram tərtib edin.



// hell_1_5.cpp

#include

int main()

{ std::cout<<"Men C++ silini orgenirem \

n";

}

Nəticə:



C:\cpp\prog2\Debug>

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

Men C++ silini orgenirem

C:\cpp\prog2\Debug>

C:\cpp\prog2\Debug>

$2. Dəyişənlər

1 - ci зalışma.

Elə proqram yazın ki, istifadəзidən 5 ədəd daxil etməsini istəsin, daha sonra proqram bu

ədədlərin cəmini ekranda зap etsin.

Nəticə:


// hell_2_1.cpp

#include < iostream >

int main(){

int x1,x2,x3,x4,x5,y;



/*en primitiv variant*/

std::cout<<"Zehmet olmasa 1-ci ededi daxil edin \n";

std::cin>>x1;

std::cout<

std::cin>>x2;

std::cout<<"Zehmet olmasa 3-cu ededi daxil edin \n";

std::cin>>x3;

std::cout<<"Zehmet olmasa 4-cu ededi daxil edin \n";

std::cin>>x4;

std::cout<<"Zehmet olmasa 5-ci ededi daxil edin \n";

std::cin>>x5;

y = x1 + x2 + x3 + x4 + x5;

std::cout<<"Daxil etdiyiniz ededlerin cemi = "<

}

Nəticə:



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

Zəhmət olmasa 1-ci ədədi daxil edin

45

Zəhmət olmasa 2-ci ədədi daxil edin

34

Zəhmət olmasa 3-cu ədədi daxil edin

123

Zəhmət olmasa 4-cu ədədi daxil edin

7

Zəhmət olmasa 5-ci ədədi daxil edin

8

Daxil etdiyiniz ədədlerin cemi = 217

C:\cpp\prog2\Debug>

C:\cpp\prog2\Debug>

2 - ci зalışma.

Elə proqram tərtib edin ki, istifadəзidən üçbucağın tərəflərinin uzunluğunu daxil etməsini

istəsin və üçbucağın perimetrini çap etsin.

//hell_2_2.cpp

#include

int main()

{

int ter1, ter2, ter3, perim;



std::cout<<"Zehmet olmasa ucbucaqin 1-ci terefinin uzunlugunu daxil edin \n";

std::cin>>ter1;

std::cout<<"Zehmet olmasa ucbucaqin 2-ci terefinin uzunlugunu daxil edin \n";

std::cin>>ter2;

std::cout<<"Zehmet olmasa ucbucaqin 3-cu terefinin uzunlugunu daxil edin \n";

std::cin>>ter3;

perim = ter1 + ter2 + ter3;

std::cout<<"Ucbucaqin perimetri = "<

}

Nəticə:


C:\cpp\prog2\Debug>

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

Zəhmət olmasa ucbucaqin 1-ci terefinin uzunlugunu daxil edin

23

Zəhmət olmasa ucbucaqin 2-ci terefinin uzunlugunu daxil edin

34

Zəhmət olmasa ucbucaqin 3-cu terefinin uzunlugunu daxil edin

45

Ucbucaqin perimetri = 102

C:\cpp\prog2\Debug>

C:\cpp\prog2\Debug>

$3. Operatorlar

1 - ci зalışma.

El proqram yazın ki, istifadəçidən 2 ədəd qəbul etsin və bunların ən böyüyünü çap etsin.



//hell_3_1.cpp

#include

int main()

{

int dey1, dey2, max;



std::cout<<"Birinci ededi daxil edin \n";

std::cin>>dey1;

std::cout<<"Ikinci ededi daxil edin \n";

std::cin>>dey2;



if (dey1 > dey2)

max = dey1;



else

max = dey2;

std::cout<<"Bu ededlerden en boyuyu "<

}

Nəticə:



C:\cpp\prog2\Debug>

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

Birinci ededi daxil edin

234

Ikinci ededi daxil edin

457

Bu ededlerden en boyuyu 457 -dir

C:\cpp\prog2\Debug>

C:\cpp\prog2\Debug>

2 - ci зalışma.

Elə proqram yazın ki, istifadəзidən 3 ədəd qəbul etsin və bunların ən büyüyünü çap etsin.



//hell_3_2.cpp

#include

int main()

{

int dey1, dey2, dey3, max;



std::cout<<"Birinci ededi daxil edin \n";

std::cin>>dey1;

std::cout<<"Ikinci ededi daxil edin \n";

std::cin>>dey2;

std::cout<<"Ucuncu ededi daxil edin \n";

std::cin>>dey3;



if ((dey1 > dey2) && (dey1 > dey3))

max = dey1;



else

if ((dey2 > dey1) && (dey2 > dey3))

max = dey2;



else

max = dey3;

std::cout<<"Bu ededlerden en boyuyu "<

}

Nəticə:



C:\cpp\prog2\Debug>

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

Birinci ededi daxil edin

23

Ikinci ededi daxil edin

456

Ucuncu ededi daxil edin

981

Bu ededlerden en boyuyu 981 –dir

C:\cpp\prog2\Debug>

C:\cpp\prog2\Debug>

4 - cü çalışma.

Elə proqram qurun ki, istifadəçinin daxil etdiyi ədəd sayda ekranda 'a' simvolu çap etsin.



//hell_3_4.cpp

#include

int main()

{

int i,dey;



std::cout<<"Her hansi daxil edin \n";

std::cin>>dey;



for (i=0; istd::cout<<'a'<<" ";

std::cout<<"\n";

}

Nəticə:



C:\cpp\prog2\Debug>

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

Her hansi daxil edin

6

a a a a a a

C:\cpp\prog2\Debug>

C:\cpp\prog2\Debug>

5 - ci зalışma.

El proqram qurun ki, istifad зid n h r-hansı d d q bul ə ə ə ə ə ə ə etsin. Əgər bu ədəd 100-dən

bцyьk olarsa ondaekranda 100 dəfə 'c' simvolu зap etsin, 50 ilə 100 arasında olarsa ekranda

həmin ədəd sayda 'b' simvolu зap etsin,50 -dən kiзik olarsa həmin ədəd sayda 'a' simvolu

зap etsin.

//hell_3_5.cpp

#include

int main()

{

int i,dey;



std::cout<<"Her hansi daxil edin \n";

std::cin>>dey;



if (dey > 100 )

for (i=0; i<100; ++i)

std::cout<<'c'<<" ";



else

if (dey > 50)

for (i=0; istd::cout<<'b'<<" ";



else

for (i=0; istd::cout<<'a'<<" ";

std::cout<<"\n";

}

Nəticə:



C:\cpp\prog2\Debug>

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

Her hansi daxil edin

12

a a a a a a a a a a a a

C:\cpp\prog2\Debug>

C:\cpp\prog2\Debug>

6 - cı зalışma.

for dövr operatorundan istifadə etməklə ekranda sonsuz olaraq "unix" kəlməsini çap edən proqram yazın.

//hell_3_6.cpp

#include

int main()

{

int i;



for (i=0; i<1; i=i)

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

}

Nəticə:


C:\cpp\prog2\Debug>

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

unix

unix

unix

unix

unix

unix

unix ^C

C:\cpp\prog2\Debug>

7 - ci зalışma.

while dövr operatorundan istifadə etməklə ekranda sonsuz olaraq "linux" kəlməsini зap

edən proqram yazın.



//hell_3_7.cpp

#include

int main()

{ while(1)

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

}

Nəticə:



C:\cpp\prog2\Debug>

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

linux

linux

linux

linux

linux

linux

linux ^C

C:\cpp\prog2\Debug>

$4. Ьnvan dəyişənləri

1 - ci зalışma.

Ancaq ьnvan dəyişənlərindən istifadə etməklə iki ədədin cəmini hesablayan proqram tərtib

edin.

//hell_4_1.cpp

#include

int main(int argc, char *argv[])

{

int *dey1, *dey2, *cem;



// unvan deyishenleri ucun yaddashda yer ayiririq

dey1 = new int;

dey2 = new int;

cem = new int;

std::cout<<"Birinci ededi daxil edin \n";

std::cin>>*dey1;

std::cout<<"Ikinci ededi daxil edin \n";

std::cin>>*dey2;

*cem = *dey1 + *dey2;

std::cout<<"Bu iki ededin cemi <<*cem<<" -dir\n";

}

Nəticə:


C:\cpp\prog2\Debug>

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

Birinci ededi daxil edin

45

Ikinci ededi daxil edin

234

Bu iki ededin cemi 279 -dir

C:\cpp\prog2\Debug>

C:\cpp\prog2\Debug>

2- ci зalışma.

Ancaq ьnvan dəyişənlərindən istifadə etməklə iki ədədin maksimumunu hesablayan

proqram tərtib edin.

//hell_4_2.cpp

#include

int main(int argc, char *argv[])

{ int *


dey1, *

dey2, *


max;

// unvan deyishenleri ucun yaddashda yer ayiririq

dey1 = new int;

dey2 = new int;

max = new int;

std::cout<<"Birinci ededi daxil edin \n";

std::cin>>*dey1;

std::cout<<"Ikinci ededi daxil edin \n";

std::cin>>*dey2;



if (*dey1 > *dey2)

*max = *dey1;



else

*max = *dey2;

std::cout<<"Bu iki ededin en boyuyu "<<*max<<" -dir\n";

}

Nəticə:



C:\cpp\prog2\Debug>

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

Birinci ededi daxil edin

45

Ikinci ededi daxil edin

234

Bu iki ededin cemi 279 –dir

C:\cpp\prog2\Debug>

C:\cpp\prog2\Debug>

$5. Funksiyalar

1 - ci зalışma.

Funksiyalardan istfad etm kl iki d din maksimumunu hesablayan ə ə ə ə ə proqram tətrib edin.



//hell_5_1.cpp

#include



// en_boyuk funksiyasinin elani

int en_boyuk (int x, int y);

int main(int argc, char *argv[])

{

int dey1, dey2, max;



std::cout<<"Birinci ededi daxil edin \n";

std::cin>>dey1;

std::cout<<"Ikinci ededi daxil edin \n";

std::cin>>dey2;

max = en_boyuk(dey1, dey2);

std::cout<<"Bu iki ededin en boyuyu "<

}

// en_boyuk funksiyasinin proqram kodu

int en_boyuk ( int dey1, int dey2)

{ if (

dey1 >


dey2)

return dey1;

else

return dey2;

}

Nəticə:



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

Birinci ededi daxil edin

5

Ikinci ededi daxil edin

67

Bu iki ededin en boyuyu 67 -dir

C:\cpp\prog2\Debug>

C:\cpp\prog2\Debug>

2 - ci зalışma.

Elə funksiya qurun ki, istifadəзidən 10 tam ədəd daxil etməsini istəsin və onların cəmini

qaytarsın.Bu funksiyadan istifadə etməklə proqram qurun və onu icra edin.

//hell_5_2.cpp

#include



// cem funksiyasinin elani

int cem (void);

int main(int argc, char *argv[])

{

int dey1, dey2 ;



dey2 = cem();

std::cout<<"Daxil etdiyiniz ededlerin cemi "<

}

// cem funksiyasinin proqram kodu

int cem ( void)

{ int i, x, y;

// y-den umimi cemi yadda saxlamaq ucun istifade edeceyik

y=0;


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

{ std::cout<

ci ededi daxil edin\n";

std::cin>>x;

y = y + x;

}

return y;

}

Nəticə:


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

1 -ci ededi daxil edin

4

2 -ci ededi daxil edin

56

3 -ci ededi daxil edin

67

4 -ci ededi daxil edin

23

5 -ci ededi daxil edin

45

6 -ci ededi daxil edin

67

7 -ci ededi daxil edin

2

8 -ci ededi daxil edin

6

9 -ci ededi daxil edin

78

10 -ci ededi daxil edin

123

Daxil etdiyiniz ededlerin cemi 471 -dir

C:\cpp\prog2\Debug>

C:\cpp\prog2\Debug>

3 - cь зalışma.

kvadrat adlı el funksiya t ə ərtib edin ki, ekranda “*” simvollarından ibarət, tərəflərinin

uzunluğu 10 olan, kvadrat зəksin (iзini doldurmaqla). kvadrat funksiyasından istfadə etməklə

proqram qurub icra edin.

//hell_5_3.cpp

#include



// kvadrat funksiyasinin elani

void kvadrat (void);

int main(int argc, char *argv[])

{ kvadrat();

}

// kvadrat funksiyasinin proqram kodu

void kvadrat ( void)

{ int i, j;

for(i=0; i <10; ++i){

for(j=0; j <10; ++j)

std::cout<<"* ";

std::cout<<"\n";

}

}



Nəticə:

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

* * * * * * * * * *

* * * * * * * * * *

* * * * * * * * * *

* * * * * * * * * *

* * * * * * * * * *

* * * * * * * * * *

* * * * * * * * * *

* * * * * * * * * *

* * * * * * * * * *

* * * * * * * * * *

C:\cpp\prog2\Debug>

C:\cpp\prog2\Debug>

4 - cь зalışma.

Зalışma 3-dəki kvadrat funksiyasını elə dəyişin ki, tərəflərinin sayı və təşkil olunduğu simvol

bu funksiyaya parametr kimi цtьrьlsьn. Bu funksiyadan istifadə etməklə elə proqram qurun ki,

istifadəзidən hər hansı simvol və ədəd daxil etməsini istəsin, daha sonra isə ekranda həmin

parametrlərə uyğun kvadrat зəksin.

// hell_5_4.cpp

#include



// kvadrat funksiyasinin elani

void kvadrat (int , char);

int main(int argc, char *argv[])

{ int x;


char c;

std::cout<<"kvadratin terefinin uzunlugunu ve \n"



<<" reng simvolunu daxil edin \n";

std::cin>>x>>c;

kvadrat(x,c);

}

/* kvadrat funksiyasinin proqram kodu */

void kvadrat (int teref, char reng)

{ int i, j;



for(i=0; i
for(j=0; jstd::cout<

std::cout<<"\n";

}}

Netice:



C:\cpp\prog2\Debug>

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

kvadratin terefinin uzunlugunu ve

reng simvolunu daxil edin

7 @

@ @ @ @ @ @ @

@ @ @ @ @ @ @

@ @ @ @ @ @ @

@ @ @ @ @ @ @

@ @ @ @ @ @ @

@ @ @ @ @ @ @

@ @ @ @ @ @ @

C:\cpp\prog2\Debug>

C:\cpp\prog2\Debug>

5 - ci зalışma.

Зalışma 4-d ki funksiyanı el d yişin ki, istifad зi kvadratın iзinin ə ə ə ə rəngləndiyi simvolu da

daxil edə bilsin.Bu funksiyadan istifadə etməklə proqram tərtib edib, icra edin.

// hell_5_5.cpp

#include



// kvadrat funksiyasinin elani

void kvadrat (int , char, char);

int main(int argc, char *argv[])

{

int x;



char c,d;

std::cout<<"kvadratin terefinin uzunlugunu , terefinin ve\n"



<<" daxilinin reng simvollarini daxil edin \n";

std::cin>>x>>c>>d;

kvadrat(x,c,d);

}

// kvadrat funksiyasinin proqram kodu

void kvadrat (int teref, char t_reng, char d_reng)

{ /* burada bir balaca izaha ehtiyac var.



cekdiyimiz fiqurun kenarlari t_reng simvolu, daxili ise

d_reng simvolu ile renglenmelidir. */

int i, j;



/* tutaq ki, terefin uz-gu 5, terefin reng simvolu #,

daxilin reng simvolu ise @ -dir.

Onda ashagidaki kod ekranda

# # # # #

cap edecek */

for(j=0; jstd::cout<

std::cout<<"\n";

/* ashagidaki kod 5 - 2 = 3 defe tekrar olunacaq.

ve her defe tekrar olunanada ekranda evvelce

#, daha sonra 5 - 2 = 3 sayda @ , daha sonra ise #

simvolunu cap edecek. ashagidaki kimi:

# @ @ @ #

3 defe tekrar olunanda ise ekranda bu shekil alinin

# @ @ @ #

# @ @ @ #

# @ @ @ #

*/

for(i=1; i

{ std::cout<

for(j=1; jstd::cout<

std::cout<

std::cout<<"\n";

}

/*sonda yuxarida baxdigimiz kod,

fiquru tamalamaq ucun tekrar olunur

# # # # #

*/

for(j=0; j

std::cout<

std::cout<<"\n";

/*

neticede ekranda terefinin uzunlugu 5, kenarlari #,

daxili ise @ simvolu ile renglenmish kvadrat alinir.

ashagidaki kimi.

# # # # #

# @ @ @ #

# @ @ @ #

# @ @ @ #

# # # # #

*/

}

Netice:



C:\cpp\prog2\Debug>./5_5

kvadratin terefinin uzunlugunu , terefinin ve

daxilinin reng simvollarini daxil edin

7 # ~

# # # # # # #

# ~ ~ ~ ~ ~ #

# ~ ~ ~ ~ ~ #

# ~ ~ ~ ~ ~ #

# ~ ~ ~ ~ ~ #

# ~ ~ ~ ~ ~ #

# # # # # # #

C:\cpp\prog2\Debug>

C:\cpp\prog2\Debug>

6 - cı зalışma.

Зalışma 5-in t l bl rini yerin yetir n romb funksiyası qurun, ə ə ə ə ə hansı ki, ekranda romb

зəksin.Bu funksiyadan istifadə edib proqram tərtib edin və icra edin.

// hell_5_6.cpp

#include



// romb funksiyasinin elani

void romb (int , char, char);

int main(int argc, char *argv[])

{ int x;


char c,d;

std::cout<<"rombun terefinin uzunlugunu , terefinin ve\n"



<<"daxilinin reng simvollarini daxil edin \n";

std::cin>>x>>c>>d;

romb(x,c,d);

}

// romb funksiyasinin proqram kodu

void romb (int teref, char t_reng, char d_reng)

{ /*



eger istifadeci 6 , =, + parametrlerini daxil etse

proqram ekranda ashagidaki kimi romb cekmelidir.

=

= + =

= + + + =

= + + + + + =

= + + + + + + + =

= + + + + + + + + + =

= + + + + + + + =

= + + + + + =

= + + + =

= + =

=

*/

int i, j, k;



// ust hisse

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 2022
rəhbərliyinə müraciət

    Ana səhifə