Amaliy qism
C++ da Satrlar va funksiyalarga doir masalalar yechish
Misol:
double square(double a, double b, double c);
{
//funktsiya a, b, c uzunlikdagi tomonlarga ega bo‘lgan uchburchak maydonini qaytarib beradi.
double s, r=(a+b+c)/2; return s=sqtr(p*(p-a)*(p-b)*(p-c)); //Geron formulasi }
Shunday qilib, stekka faktik parametrlarning nushalari kiritiladi va funktsiya operatorlari ushbu nushalar bilan ish olib boradi.
Faktik parametrlarning o‘ziga funktsiyaning kirish huquqi yo‘q, demak ularni o‘zgartirish imkoni ham yo‘q.
Manzil bo‘yicha uzatishda stekka parametrlar manzillarining nushalari kiritiladi, demakki, funktsiyada faktik parametr joylashtirilgan xotira uyasiga kirish huquqi paydo bo‘ladi va funktsiya bu parmetrni o‘zgartirishi mumkin.
void Change(int*a,int*b)//manzil bo‘yicha uzatish {int r=*a; *a=*b;*b=r;}
int x=1,y=5; Change(&x,&y); cout<<
Do'stlaringiz bilan baham: |