C++ proqramlaşdırma dili



Yüklə 362,54 Kb.
Pdf görüntüsü
səhifə7/10
tarix23.02.2020
ölçüsü362,54 Kb.
#30520
1   2   3   4   5   6   7   8   9   10
d book proqramlashdirma 23664


Çalışmalar. 

         

1. İstifad çinin daxil etdiyi  d dl rin c mini hesablayan proqram t rtib edin. 

ə

ə ə ə



ə

ə

         



2. İstifad çinin daxil etdiyi  d dl r iç risind   n böyüyünü t yin ed n proqram 

ə

ə ə ə



ə

ə ə


ə

ə

t rtib edin.



ə

         

3. İstifad çinin daxil etdiyi  d dl r iç risind  3 -  bölün nl ri t yin ed n 

ə

ə ə ə



ə

ə

ə



ə ə ə

ə

proqram t rtib edin.



ə

         

4. İstifad çinin daxil etdiyi  d dl ri artan sıra il  düz n proqram t rtib edin.

ə

ə ə ə



ə

ə

ə



         

5. İstifad çinin daxil etdiyi  d dl rd n cüt v  t k  d dl ri ayrı-ayrı (2 müxt lif 

ə

ə ə ə ə


ə ə ə ə ə

ə

sırada) çap ed n proqram t rtib edin.



ə

ə

       



$6 S tirl r

ə

ə

S tirl r simvol tipli c rg l rdir. S tir elan etm k üçün aşağıdakı sintaksisd n istifad  

ə ə

ə ə ə


ə

ə

ə



ə

olunur:


 

   


char

 Sətrin_Adı [ Simvolların_Sayı ];



Çalışma 1. 10 simvoldan ibar t s s tri elan edin.

ə

ə



H lli .

ə

 S trin elan olunma sintaksisin   sas n t l b olunan s tri aşağıdakı kimi elan ed  

ə

ə ə


ə ə ə

ə

ə



bil rik:

ə

    



char

 s[


10

];

S tril rl  işl m k üçün funksiyalar



ə ə ə

ə ə


S tirl rl  işl m k üçün bir neç  standart funksiyalar t yin olunmuşdur. Bu funksiyalardan 

ə ə ə


ə ə

ə

ə



istifad  ed rk n proqrama string.h faylını  lav  etm liyik. G lin bu funksiyalarla tanış 

ə

ə ə



ə

ə

ə



ə

olaq.


strcpy(s1, s2) funksiyası

strcpy funksiyası parametr olaraq iki s tir q bul edir v  ikinci s tri birinciy  köçürür. 

ə

ə

ə



ə

ə

strcmp(s1,s2) fuksiaysı



strcmp funksiyası s tirl rin müqais si üçün istifad  edirl r.  g r s1 s tri s2 s tri il  

ə ə


ə

ə

ə Ə ə



ə

ə

ə



eynidirs  onda funksiya 0 qiym tini qaytarır.  g r s1-in elementl rinin sayı s2-d n 

ə

ə



Ə ə

ə

ə



azdırsa onda <0  ks halda >0 qiym tini qaytarır.

ə

ə



strcat(s1,s2) fuksiaysı

strcat funksiyası parametr olaraq iki s tir q bul edir v  birinci s trin sonuna ikinci s tri 

ə

ə

ə



ə

ə

lav  edir



ə

ə

strlen(s) funksiyası.



strlen funksiyası parametr olaraq h r-hansı s tir q bul edir v  n tic  olaraq h min s trin 

ə

ə



ə

ə ə ə


ə

ə

uzunluğunu qaytarır. Burada s trin uzunluğu anlayışını elanda istifad  etdiyimiz 



ə

ə

Simvolların_Sayı il  qarışdırmaq olmaz. Elandakı Simvolların_Sayı s tir   n çoxu neç  



ə

ə ə ə


ə

simvol yerl şdir  bil c yimizi bildirir, s trin uzunluğu is  hal-hazırda s tr  yerl şdirilmiş 

ə

ə

ə ə



ə

ə

ə ə



ə

simvolların sayını bildirir.



Çalışma 2. İstifad çinin daxil etdiyi s trin uzunluğunu ekranda çap ed n proqram t rtib 

ə

ə



ə

ə

edin.



H lli.

ə  H r-hansı s tir elan ed k. cin operatoru il  h min s tr  istifad çinin daxil etdiyi 

ə

ə



ə

ə ə


ə ə

ə

qiym ti m nims d k. strlen il  s trin uzunluğunu çap ed k. Proqram aşağıdakı kimi 



ə

ə

ə ə



ə ə

ə

olacaq:



  

#include 

  

#include 



  

int


 main(){

   


int

 k;


   

// ozunde en coxu 256 simvol saxlaya bilen

   


// setir elan edirik

   


char

 s[


256

];

   



// istifadeciden her-hansi setir daxil etmesini isteyek

   std::cout<<

"Zehmet olmasa her-hansi setir daxil edin 

\n

"



;

   


// istifadecinin daxil etdiyi qiymeti s setrine yerleshdirek

   std::cin>>s;

  

// s setrinde olan simvollarin sayini k-ya menimsedek

  k = strlen(s);

  

// setrin uzunlugunu cap edek


  std::cout<<

"setrin uzunlugu = "



<"

\n



"

;

 }



Calışma 3. İstifad çinin daxil etdiyi s tird  olan 'a' simvollarının sayını tapan proqram 

ə

ə



ə

t rtib edin. 

ə

H lli . 

ə

Proqramda h r-hansı s tir elan edib istifad çinin daxil etdiyi ifad ni h min s tir  

ə

ə

ə



ə

ə

ə ə



yerl şdir c yik. S trin uzunluğunu strlen funksiyası il  hesablayacayıq. Daha sonra dövr 

ə

ə ə



ə

ə

operatoru il  s trin bütün simvollarını yoxlayıb, a-ya b rab r olanların sayını tapa bil rik. 



ə ə

ə

ə



ə

Proqram kodu aşağıdakı kimi olar:

  

#include 



  

#include 

  

int


 main(){

   


int

 i,k,say;

   

// ozunde en coxu 256 simvol saxlaya bilen

   


// setir elan edirik

   


char

 s[


256

];

   



// istifadeciden her-hansi setir daxil etmesini isteyek

   std::cout<<

"Zehmet olmasa her-hansi setir daxil edin 

\n

"



;

   


// istifadecinin daxil etdiyi qiymeti s setrine yerleshdirek

   std::cin>>s;

  

// s setrinde olan simvollarin sayini k-ya menimsedek

  k = strlen(s);

  

// evvelce say deyishenine 0 qiymeti menimsedek

  say = 


0

;

  



//dovr operatoru ile setirde olan simvollari bir-bir yoxlayaq

  

// eger simvol 'a' -dirsa onda say -i bir vahid artiraq

  

for

 (i=


0

; i

   { 

     


if

 (s[i] == 

'a'

) say++;


   }

  

// setirde olan 'a' simvollarinin sayini cap edek

  std::cout<<

"setirde olan a simvollarinin sayi = "



<"

\n



"

;

   



 }

Çalışma 4. İstifad çinin daxil etdiyi iki s trin eyni olub olmadığını mü yy n ed n proqram

ə

ə



ə ə

ə

 



t rtib edin. 

ə

H lli.



ə  İki s trin elan edirik v  istifad çinin daxil etdiyi ifad l ri h min s tirl r  yerl şdiririk.

ə

ə



ə

ə ə


ə

ə ə ə


ə

 

Daha sonra strcmp funksiyası il  bu s tirl ri müqais  edirik. Proqram kodu aşağıdakı kimi



ə

ə ə


ə

 

olar:



   

#include 

   

#include 



   

int


 main(){

   


    

// iki setir elan edek

    


char

 s1[


256

], s2[


256

];

    



// istifadeciye birinci setri daxil etmesini bildirek

    std::cout<<

"Zehmet olmasa birinci setri daxil edin 

\n

"



;

    


// Istifadecinin daxil etdiyi birinci setri s1 -e yazaq

    std::cin>>s1;

    

// eyni qayda ile ikinci setri s2 -ye yazaq

    std::cout<<

"Zehmet olmasa ikinci setri daxil edin 

\n

"



;

    std::cin>>s2;

    

// strcmp ile s1 ve s2 -ni muqaise edek

    


if

 (strcmp(s1,s2) == 

0

)

          std::cout<<



"Setirler eynidir 

\n

"



;

    


else

          std::cout<<

"Setirler ferqlidir 

\n

"



;

 

  }



Çalışma 5. İstifad çinin daxil etdiyi iki s tri birl şdirib çap ed n proqram t rtib edin. 

ə

ə



ə

ə

ə



H lli.

ə  İki s tir elan ed k, istifad çinin daxil etdiyi ifad l ri h min s tril r  yerl şdir k. 

ə

ə



ə

ə ə


ə

ə ə ə


ə

ə

daha sonra strcat il  ikinci s tri birinicinin sonuna  lav  ed k. Proqram kodu aşağıdakı 



ə

ə

ə



ə

ə

kimi olar:



   

   


#include 

   


#include 

   


int

 main(){


   

    


// iki setir elan edek

    


char

 s1[


100

], s2[


100

];

     std::cout<<



"Zehmet olmasa birinci setri daxil edin 

\n

"



;

    std::cin>>s1;

    std::cout<<

"Zehmet olmasa ikinci setri daxil edin 

\n

"

;



    std::cin>>s2;

    


// strcat ile s1 -in sonuna s2 -ni elave edek

    strcat(s1,s1);

    

// s1 - cap edek

    std::cout<

"

\n

"



;

 

  }



Çalışmalar.

1. İstifad çini daxil etdiyi s trin uzunluğunu çap ed n proqram t rtib edin.

ə

ə

ə



ə

2. İstifad çinin daxil etdiyi s trin son 5 simvolunu ekranda çap ed n proqram t rtib edin.

ə

ə

ə



ə

3. İstifad çinin daxil etdiyi s trin ilk 3 simvolu il  son 5 simvolunu birl şdirib çap ed n 

ə

ə

ə



ə

ə

proqram t rtib edin.



ə

4. El  proqram qurun ki, istifad çinin daxil etdiyi s trin 5-ci simvolu il  15-ci simvolu 

ə

ə



ə

ə

arasında qalan hiss sini çap etsin.



ə

5. El  proqram t rtib edin ki, istifad çid n 3 s tir q bul etsin v  bu s tirl ri ardıcıl 

ə

ə

ə



ə

ə

ə



ə

ə ə


birl şdir r k tam s tir kimi çap etsin.

ə

ə ə



ə

6.* El  proqram t rtib edin ki, istifad çid n 4 s tir q bul etsin v  bu s tirl ri daxil olma 

ə

ə

ə



ə

ə

ə



ə

ə ə


sırasının  ksi ardıcıllığında birl şdir r k tam s tir kimi çap etsin.

ə

ə



ə ə

ə

7.* El  proqram t rtib edin ki, istifad çid n 4 s tir q bul etsin v  bu s tirl ri 



ə

ə

ə



ə

ə

ə



ə

ə ə


uzunluqlarının artma ardıcıllığı il  alt-alta çap etsin.

ə

$7 Struct tipl r.



ə

7.1 Struct tipinin yaradılması

Struct tipl rind n müxt lif tipl rd n olan d yiş nl rd n ibar t yeni tip yaratmaq üçün 

ə

ə

ə



ə ə

ə

ə ə ə



ə

istifad  olunur. Struct tipi elanı sintaksisi aşağıdakı kimidir:

ə

   


struct

 Ad {


      tip_1 dəyişən_1;

      tip_2 dəyişən_2;

      .

      .


      .

      tip_n dəyişən_n

  };

Burada Ad yeni yaratdığımız struct tipinin adını bildirir. d yiş n_1, ... d yiş n_n is  yeni 



ə

ə

ə



ə

ə

tipin h ddl ri adlanır.



ə

ə

Çalışma 1. int tipli x v  char tipli c h ddl rind n ibar t s adlı struct tipi elan edin.

ə

ə

ə



ə

ə

H lli. T l b olunan struct tipinin adı s -dir v  2 h ddi var: int tipli x v  char tipli c. Struct 



ə

ə ə


ə

ə

ə



tipinin elanı sintaksisin  asas n onu aşağıdakı kimi elan ed  bil rik:

ə

ə



ə

ə

   



struct

 s {


    

int


  x;

    


char

 c;


 };

7.2 Struct tipind n olan d yiş nl r

ə

ə

ə ə

Struct tipi elan ed rk n biz yeni d yiş n tipi yaratmış oluruq. Yeni yaratdığımız tipd n 

ə ə

ə

ə



ə

dig r standart tipl rd n olduğu kimi d yiş n elan ed  bil rik.

ə

ə ə


ə

ə

ə



ə

Çalışma 2. Çalışma 1 -d  t rtib olunan s struct tipind n q adlı d yiş n elan edin. 

ə ə


ə

ə

ə



H lli.

ə  Tipin adı s, d yiş nin adı q olduğuna gör  adi standart tipl rin elan olunması 

ə

ə



ə

ə

qaydasına  sas n q d yiş nin aşağıdakı kimi elan ed  bil rik:



ə

ə

ə



ə

ə

ə



   

// s adli yeni tip yaradiriq

   


struct

 s {


    

int


  x;

    


char

 c;


 };

  

// s tipindən q dəyisheni elan edirik

   s q;

7.3 Struct tipinin h ddl rin  müraci t

ə

ə

ə

ə

Struct tipind n d yiş n elan etdikd n sonra biz artıq onun h ddl rin  müraci t ed  

ə

ə

ə



ə

ə

ə ə



ə

ə

bil rik. Bunun üçün D yiş nin_Adı.H ddin_adı sintaksisind n istifad  edirik 



ə

ə

ə



ə

ə

ə



(d yiş nin_adı nöqt  h ddin_adı).

ə

ə



ə ə

Çalışma 3. Çalışma 2 -d  elan olunan q d yiş nin x h ddin  10, c h ddin  is  'A' qiym ti

ə

ə



ə

ə

ə



ə

ə ə


ə  

m nims din.

ə

ə

H lli.



ə  D yiş nin adı q, olduğundan onun x h ddin  10, c h ddin  'A' qiym ti 

ə

ə



ə

ə

ə



ə

ə

m nims tm k üçün 



ə

ə ə


  q.x = 

10



  q.c = 

'A'


;

yazmalıyıq. Struct tipinin elanı v  q d yiş ninin elanı s tril rini d  n z r  alsaq yekun 

ə

ə

ə



ə ə

ə ə ə ə


kod aşağıdakı kimi olar:

   


// s adli yeni tip yaradiriq

   


struct

 s {


    

int


  x;

    


char

 c;


 };

  

// s tipindən q dəyisheni elan edirik

  s q;


  

// q -nün x həddinə 10 qiyməti mənimsədək

  q.x = 


10

;

  



// q -nün c həddinə 'A' qiyməti mənimsədək

  q.c = 


'A'

;

$8 Sinifl r.



ə

8.1 Sinfin elanı

Sinifl r struct tipl rd n f rqli olaraq özl rind  d yiş nl rl  yanaşı funksiya h ddl ri d  

ə

ə ə ə


ə

ə ə


ə ə ə

ə

ə



ə

saxlaya bil r. Sinfin elan olunma qaydası aşağıdakı kimidir:

ə

  

class



 sinfin_adı {

    tip1 dəyişən1;

    tip2 dəyişən2

    .


    .

    .


    tip_n dəyişən_n;

    tip_1 funksiya_1 ();

    tip_2 funksiya_2 ();

    .


    .

    .


    tip_k funksiya_k ();

 };


D yiş nl r sinfin d yiş n h ddl ri, funksiyalar is  funksiya h ddl ri adlanır.

ə

ə ə



ə

ə

ə



ə

ə

ə



ə

Çalışma 1. int tipli en v  int tipli uz d yiş n h ddl ri, int sahe(int,int) funksiya h ddind n 

ə

ə



ə

ə

ə



ə

ə

ibar t duzbucaqli adlı sinif elan edin. sahe funksiyası n tic  olaraq q bul etdiyi 



ə

ə ə


ə

parametrl rin hasilini qaytarır.

ə


H lli .

ə

 Sinfin elanı sintaksisini n z r  alsaq t l b olunan sinfi aşağıdakı kimi elan ed  

ə ə ə

ə ə


ə

bil rik:


ə

 

class

 duzbucaqli {

     


int

 en;


     

int


 uz;

     


int

 sahe (


int

int



);

    


  };

8.2 Sinif tipind n d yiş n elan etm k

ə

ə

ə

ə

Sinif tipini yaratdıqdan sonra adi standart tipl rd  olduğu kimi d yiş n elan ed  bil rik. 

ə ə

ə

ə



ə

ə

Sinif tipind n elan olunan d yiş nl r b z n obyekt d  adlandırılır.



ə

ə

ə ə ə ə



ə

Çalışma 2. Çalışma 1 -d  t rtib olunmuş duzbucaqlı sinfind n duzb adlı d yiş n elan 

ə ə


ə

ə

ə



edin.

H lli.

ə  Sinif tipind n d yiş n elan etm  sintaksisin   sas n t l b olunan d yiş ni 

ə

ə



ə

ə

ə ə



ə ə ə

ə

ə



aşağıdakı kimi elan ed  bil rik.

ə

ə



duzbucaqli duzb;

8.3 Sinfin h ddl rin  müraci t

ə

ə

ə

ə

Sinfin h ddl rin  müraci t ed n zaman struct tipinin h ddl rin  müraci t qaydasından 

ə

ə ə


ə

ə

ə



ə ə

ə

istifad  ed c yik. Başqa sözl  d yiş nin_Adı.h ddin_adı kimi.



ə

ə ə


ə ə

ə

ə



Çalışma 3. Çalışma 2 -d  elan olunan duzb d yiş ninin en h ddin  10, uz h ddin  20 

ə

ə



ə

ə

ə



ə

ə

qiym tl ri m nims din.



ə ə

ə

ə



H lli.

ə  Sinif tipinin h ddl rin  müraci t qaydasından istifad  edib sinfin d yiş n 

ə

ə ə



ə

ə

ə



ə

h ddl rin  t l b olunan qiym tl ri aşağıdakı kimi m nims d  bil rik:

ə

ə ə ə ə


ə ə

ə

ə ə



ə

  duzb.en = 

10

;

  duzb.uz = 



20

;

8.4 Sinfin funksiya h ddinin t rtibi



ə

ə

Sinfin funksiya h ddinin proqram kodunu t rtib etm k üçün aşağıdakı sintaksisd n 

ə

ə

ə



ə

istifad  olunur:

ə

 nəticə_tipi  sinfin_adı::funksiyanın_adı (parametrlər) {



  

      proqram kodu;    

  }

Çalışma 4. Çalışma 1 -d  elan olunmuş duzbucaqli sinfinin sahe funksiyasının proqram 

ə


kodunu t rtib edin.

ə

H lli.



ə  sinfin_adı duzbucaqli, funskiya h ddinin adı sahe, funksiyanın qaytardığı n tic nin 

ə

ə ə



tipi int, q bul etdiyi h r iki parametrin tipi int-dir. sahe funksiyası n tic  olaraq q bul etdiyi

ə

ə



ə ə

ə

 



parametrl rin hasilini qaytarır. Bunları v  sinfin funksiya h ddinin t rtib olunma qaydasını 

ə

ə



ə

ə

n z r  alıb sah  funksiyasının proqram kodunu aşağıdakı kimi t rtib ed  bil rik:



ə ə ə

ə

ə



ə

ə

  



int

  duzbucaqli::sahe (

int

 x, 


int

 y){


    

return

 x*y;


 }

8.5 Açıq v  gizli h ddl r

ə

ə

ə

Struct tipind n f rqli olaraq sinifl r öz h ddl rin  müraci ti açıq v  gizli xass l ri il  

ə ə

ə

ə



ə ə

ə

ə



ə ə

ə

t nziml y  bilir. Sinfin açıq h ddl rin  müraci t s rb stdir. Gizli h ddl r  is  yalnız sinfin



ə

ə ə


ə

ə ə


ə ə ə

ə

ə ə ə



 

öz h ddl ri müraci t ed  bil r.

ə

ə

ə



ə

ə

8.5.1 Açıq h ddl r



ə

ə

Sinfin h r-hansı d yiş n v  ya funksiya h ddini açıq elan etm k üçün "public" xass si il  

ə

ə

ə



ə

ə

ə



ə

ə

elan etm k lazımdır. Sintaksis aşağıdakı kimidir:



ə

   


class

 sinfin_adı {

      

public

:

        tip_1 dey_1;



        tip_2 dey_2;

        .

        .

        .

        tip_n dey_n;

   };


8.5.2 Gizli h ddl r

ə

ə

Sinfin h r-hansı d yiş n v  ya funksiya h ddini gizli elan etm k üçün "private" xass si il

ə

ə

ə



ə

ə

ə



ə

ə 

elan etm k lazımdır. Sintaksis aşağıdakı kimidir:



ə

   


class

 sinfin_adı {

      


Yüklə 362,54 Kb.

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




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