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>
Dostları ilə paylaş: