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



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

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

std::cout<

std::cout<<"\n";



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

std::cout<
for (j=teref - i + 1; j

std::cout<

std::cout<

std::cout<<"\n";

} // alt hisse

for(i=2; i
for( j=0; j

std::cout<<" ";

std::cout<
for (j=i ; j<2*teref - i - 1; ++j)

std::cout<

std::cout<

std::cout<<"\n";

} for(j=0; j

std::cout<<" ";

std::cout<

std::cout<<"\n";

}

Netice:


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

rombun terefinin uzunlugunu , terefinin ve

daxilinin reng simvollarini daxil edin

6 + -

+

+ - +

+ - - - +

+ - - - - - +

+ - - - - - - - +

+ - - - - - - - - - +

+ - - - - - - - +

+ - - - - - +

+ - - - +

+ - +

+

C:\cpp\prog2\Debug>

7 - ci зalışma.

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

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

// hell_5_7.cpp

#include



// ucbucaq funksiyasinin elani

void ucbucaq (int , char, char);

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

{ int x;


char c,d;

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



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

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

ucbucaq(x,c,d);

}

// ucbucaq funksiyasinin proqram kodu

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

{ /*



eger istifadeci 5 , &, = parametrlerini daxil etse

proqram ekranda ashagidaki kimi ucbucaq cekmelidir.

=

= + =

= + + + =

= + + + + + =

= = = = = = = = =

*/

int i, j, k;



/* ust hisse */

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

std::cout<

std::cout<<"\n";



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

std::cout<
for (j=teref - i + 1; j

std::cout<

std::cout<

std::cout<<"\n";

}

// alt hisse

std::cout<<" ";



for(i=1; i<2*teref; ++i)

std::cout<

std::cout<<"\n";

std::cout<<"\n";

}

Netice:


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

ucbucaqin terefinin uzunlugunu , terefinin ve

daxilinin reng simvollarini daxil edin

7 u o

u

u o u

u o o o u

u o o o o o u

u o o o o o o o u

u o o o o o o o o o u

u u u u u u u u u u u u u

C:\cpp\prog2\Debug>

8 - ci зalışma.

Kvadrat, romb v ucbucaq funksiyalarından istifad etm kl el proqram ə ə ə ə ə tərtib edin ki, əvvəl

istifadəзidən tərəfin uzunluğun, tərəfin və fiqurun daxilin rəngləmək ьзьn simvolları daxil

etməyi istəsin.Daha sonra istifadəзidən 1,2 və 3 rəqəmlərindən birini daxil etməyini

istəsin.Əgər istifadəзi 1 daxil edərsə onda ekranda kvadrat, 2 daxil edərsə romb, 3 daxil

edərsə ucbucaq зəksin.



//hell_5_8.cpp

#include

void kvadrat (int , char, char);

void romb (int , char, char);

void ucbucaq (int , char, char);

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

{ int x,k;

char c,d;

std::cout<<"Fiqurun terefinin uzunlugunu , terefinin daxilinin \n"

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

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

std::cout<<"Ekranda cekmek istediyiniz fiqurun nomresini daxil edin\n";

std::cout<<"Ucbucaq ucun 1, romb ucun 2, kvadrat ucun 3\n"



<<" reqemini daxil edin\n";

std::cin>>k;



switch(k){

case 1:

ucbucaq(x,c,d);



break;

case 2:

romb(x,c,d);



break;

case 3:

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.

# # # # #

# @ @ @ #

# @ @ @ #

# @ @ @ #

# # # # #

*/

}

/*===================================================*/



/* 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 */

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

std::cout<

std::cout<<"\n";



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

std::cout<
for (j=teref - i + 1; j

std::cout<

std::cout<

std::cout<<"\n";

} /* alt hisse */

for(i=2; i
for( j=0; j

std::cout<<" ";

std::cout<
for (j=i ; j<2*teref - i - 1; ++j)

std::cout<

std::cout<

std::cout<<"\n";

} for(j=0; j

std::cout<<" ";

std::cout<

std::cout<<"\n";

}

/*===============================*/

/* ucbucaq funksiyasinin proqram kodu */

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

{ /*

eger istifadeci 5 , +, = parametrlerini daxil etse

proqram ekranda ashagidaki kimi romb cekmelidir.

=

= + =

= + + + =

= + + + + + =

= = = = = = = = =

*/

int i, j, k;



/* ust hisse */

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

std::cout<

std::cout<<"\n";



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

std::cout<
for (j=teref - i + 1; j

std::cout<

std::cout<

std::cout<<"\n";

} /* alt hisse */

std::cout<<" ";



for(i=1; i<2*teref; ++i)

std::cout<

std::cout<<"\n";

std::cout<<"\n";

}

Nəticə:


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

Fiqurun terefinin uzunlugunu , terefinin

ve daxilinin reng simvollarini daxil edin

9 – k

Ekranda cekmek istediyiniz fiqurun nomresini daxil edin

Ucbucaq ucun 1, romb ucun 2, kvadrat ucun 3

reqemini daxil edin

3

- - - - - - - - -

- k k k k k k k -

- k k k k k k k -

- k k k k k k k -

- k k k k k k k -

- k k k k k k k -

- k k k k k k k -

- k k k k k k k -

- - - - - - - - -

C:\cpp\prog2\Debug>

C:\cpp\prog2\Debug>

9 - cu зalışma.

Зalışma 8-i elə dəyişin ki, proqram istidəзidən fiqurun tərəfinin uzunluğunu və rəng simvoları

daxil etdikdən sonra istədiyi fiqurun зəkilməsi ьзьn 1,2,3 simvollarından birini daxil etməsini

istəsin. Bu prosesi istifadəзi 0 rəqəmi daxil edənə kimi təkrar eləsin. Bu zaman proqramın

istifadəзidən tərəfin uzunluğu və rəng simvollarını qəbul edən hissəsini də ayrı bir funksiya

kimi tərtib edin.



//hell_5_9.cpp

#include

void kvadrat (int , char, char);

void romb (int , char, char);

void ucbucaq (int , char, char);

void hazirliq_ishleri( int *);

void yerine_yetir(int);

/* main - proqramin esas funksiyasi */

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

{

int k;


hazirliq_ishleri(&k);

/* gorduyunuz kimi men daxil etdiyim variantda

ilkin_hazirliq funksiyasi 2 defe cagirilib.

mence bu optimal variant deyil.

eger daha lokanik variantini tertib ede bilersinizse,

oz hellinizi progbits.az saytina yerleshdirmeyinizi xahish edirem.

*/

while (k!=0){

yerine_yetir(k);

hazirliq_ishleri(&k);

}} /*=========================================================*/



/* 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.

# # # # #

# @ @ @ #

# @ @ @ #

# @ @ @ #

# # # # #

*/

}

/* 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 */

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

std::cout<

std::cout<<"\n";



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

std::cout<
for (j=teref - i + 1; j

std::cout<

std::cout<

std::cout<<"\n";

}

/* alt hisse */

for(i=2; i
for( j=0; j

std::cout<<" ";

std::cout<
for (j=i ; j<2*teref - i - 1; ++j)

std::cout<

std::cout<

std::cout<<"\n";

} for(j=0; j

std::cout<<" ";

std::cout<

std::cout<<"\n";

}

/* ucbucaq funksiyasinin proqram kodu */

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

{

/* eger istifadeci 5 , &, = parametrlerini daxil etse proqram ekranda

ashagidaki kimi romb cekmelidir.

=

= + =

= + + + =

= + + + + + =

= = = = = = = = =

*/

int i, j, k;



/* ust hisse */

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

std::cout<

std::cout<<"\n";



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

std::cout<
for (j=teref - i + 1; j

std::cout<

std::cout<

std::cout<<"\n";

} /* alt hisse */

std::cout<<" ";



for(i=1; i<2*teref; ++i)

std::cout<

std::cout<<"\n";

std::cout<<"\n";

}

/*=================================================================*/

void hazirliq_ishleri( int *k)

{ std::cout<<"Ekranda cekmek istediyiniz fiqurun nomresini daxil edin\n";

std::cout<<"Ucbucaq ucun 1, romb ucun 2, kvadrat ucun 3 reqemini daxil edin\n";

std::cout<<"Cixish ucun 0 reqemini daxil edin\n";

std::cin>>*k;

}

/*=================================================================*/

void yerine_yetir(int k)

{ int x;

char c,d;

std::cout<<"Fiqurun terefinin uzunlugunu , terefinin ve daxilinin reng

simvollarini daxil edin \n";

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

switch(k){

case 1:

ucbucaq(x,c,d);



break;

case 2:

romb(x,c,d);



break;

case 3:

kvadrat(x,c,d);

}}

Nəticə:


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

Ekranda cekmek istediyiniz fiqurun nomresini daxil edin

Ucbucaq ucun 1, romb ucun 2, kvadrat ucun 3 reqemini daxil edin

Cixish ucun 0 reqemini daxil edin

1 Fiqurun terefinin uzunlugunu ,

terefinin ve daxilinin reng simvollarini daxil edin

5 y u

y

y u y

y u u u y

y u u u u u y

y y y y y y y y y

Ekranda cekmek istediyiniz fiqurun nomresini daxil edin

Ucbucaq ucun 1, romb ucun 2, kvadrat ucun 3 reqemini daxil edin

Cixish ucun 0 reqemini daxil edin

3 Fiqurun terefinin uzunlugunu ,

terefinin ve daxilinin reng simvollarini daxil edin

7 * -

* * * * * * *

* - - - - - *

* - - - - - *

* - - - - - *

* - - - - - *

* - - - - - *

* * * * * * *

Ekranda cekmek istediyiniz fiqurun nomresini daxil edin

Ucbucaq ucun 1, romb ucun 2, kvadrat ucun 3 reqemini daxil edin

Cixish ucun 0 reqemini daxil edin

0 C:\cpp\prog2\Debug> C:\cpp\prog2\Debug>

$6. Cərgələr

1 - ci зalışma.

max proqramını ele dəyişin ki, istifadəзinin daxil etdiyi ədələrin iзində ən kiзiyini tapsın.

//hell_6_1.cpp

#include

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

{ /*en coxu 100 elemente hesablanib */

int i, x[100], say, min;

std::cout<<"100 -den kicik her hansi bir eded daxil edin > 0 \n";

std::cin>>say;

std::cout<

for (i=0; istd::cin>>x[i];

min = x[0];

for (i=0; i
if (x[i] < min) min = x[i];

std::cout<<"sizin daxil etdiyiniz ededlerin icinde en kiciyi "<

}

Nəticə:


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

100 -den kicik her hansi bir eded daxil edin > 0

7

7 sayda eded daxil edin

1 2 5 34 56 890 5

sizin daxil etdiyiniz ededlerin icinde en kiciyi 1 –dir

C:\cpp\prog2\Debug>

4 - cь зalışma.

Elə proqram qurun ki, istifadəзinin daxil etdiyi ədədləri artan sıra ilə dьzsьn.



//hell_6_4.cpp

#include

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

{

/*en coxu 100 elemente hesablanib */

int i, j, x[100], say, min, movqe, kecid;

std::cout<<"100 -den kicik her hansi bir eded daxil edin > 0 \n";

std::cin>>say;

std::cout<

for (i=0; istd::cin>>x[i];



for (i=0; imin = x[i];

movqe = i;

for (j=i; j
if (x[j] < min){

min = x[j];

movqe = j;

}

kecid = x[i];



x[i] = min;

x[movqe] = kecid;

}

for (i=0; i

std::cout<

std::cout<<"\n";

}

Netice:



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

100 -den kicik her hansi bir eded daxil edin > 0

7

7 sayda eded daxil edin

12 3 56 678 0 90 345

0 3 12 56 90 345 678

C:\cpp\prog2\Debug>

C:\cpp\prog2\Debug>

6 - cı зalışma.

El funksiya t rtib edin ki, verilmiş c rg nin elementl ri arasında ə ə ə ə ə ən bцyьyьnь tapsın. Bu

funksiyadan istifadə edərək proqram tərtib edin ki, istifadəзidən əvvəl say, daha sonra bu

say qədər hər-hansı ədəd daxil etməsini istəsin və bu ədədlərin ən bцyьyьnь зap etsin.



//hell_6_6.cpp

#include

int max(int *, int);

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

{

/*en coxu 100 elemente hesablanib */

int i, x[100], say, max_eded;

std::cout<<"100 -den kicik her hansi bir eded daxil edin > 0 \n";

std::cin>>say;

std::cout<
for (i=0; i

std::cin>>x[i];

max_eded = max(x,say);

std::cout<<"sizin daxil etdiyiniz ededlerin icinde en boyuyu "<

-dir\n";

} /*==================================================*/

int max(int *x, int say)

{ int i


,

max;


max = x[0];

for (i=0; i
if (x[i] < max) max = x[i];

return max;

}

Netice:



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

100 -den kicik her hansi bir eded daxil edin > 0

6

6 sayda eded daxil edin

1 34 567 0 34 23

sizin daxil etdiyiniz ededlerin icinde en kiciyi 0 –dir

C:\cpp\prog2\Debug>

C:\cpp\prog2\Debug>

7 - ci зalışma.

6 - cı proqramı el d yişin ki, istifad зi say olaraq 0 daxil ed n kimi ə ə ə ə ə proqram təkrar olunsun.

Bax зalışma 5_9 - a.

$7. Sətirlər

1 - ci зalışma.

Elə proqram qurun ki, istifadəзinin daxil etdiyi sətrin 5-ci simvolu ilə 15-ci simvolu arasında

qalan hissəsini зap etsin. Əgər sətrin uzunluğu 20-dən kiзik olarsa onda ekranda bu barədə

məlumat зap etsin.



// hell_7_1.cpp

#include

#include

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

{

/*1024 elementden ibaret setir elan edirik*/

char setir[1024];

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

std::cin>>setir;



if (strlen(setir) < 20)

std::cout<<"Sizin daxil etdiyiniz setrin uzunlugu 20- dan kicikdir \n";



else

{ char *


p, *

q, bufer[20];

memset(bufer, 0 ,20);

/* p-ni surushdururuk 5-ci simvolun uzerine*/

p = setir + 5;



/* 5-ci simvoldan bashlayaraq novbeti 9 simvolu bufere kocururuk*/

strncpy(bufer,p,9);

std::cout<<"5-ci simvol ile 15 -ci simvol arasinda olan hisse "

<

}}

Netice:



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

Her hansi setir daxil edin

Bir zerrenin ishigina milyonlar sherik.

5-ci simvol ile 15 -ci simvol arasinda olan hisse "errenin i" –dir

C:\cpp\prog2\Debug>

C:\cpp\prog2\Debug>


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ə