𝓕𝓪𝓽𝓴𝓱𝓲𝓭𝓭𝓲𝓷 𝓣𝓸𝓱𝓲𝓻𝓸𝓿
35. Ixtiyoriy sonning 3 – darajasini
hisoblovchi PowerA3 nomli funksiya hosil
qiling. PowerA3 funksiyasi orqali A, B, C
haqiqiy sonlarining va D, E butun
sonlarining 3 – darajasini hisoblovchi
programma tuzilsin.
#include
using
namespace
std;
double
PowerA3(
double
a
)
{
return
a
*
a
*
a
;
}
int
main()
{
double
n;
cin
>>
n;
cout
<<
PowerA3(n);
}
36.
Ixtiyoriy sonning 2, 3, 4 – darajasini
hisoblovchi PowerA234 nomli funksiya
hosil qiling. PowerA234 funksiyasi orqali A,
B, C haqiqiy sonlarining 2, 3, 4 – darajasini
hisoblovchi programma tuzilsin. Funksiya
prototipi quyidagicha bo’lishi mumkin: void
PowerA234(float , float *, float *, float *);
48.Butun musbat sonining raqamlarini
teskari tartibda chiqaruvchi InvertDigit
nomli funksiya hosil qiling. Bu funksiya
orqali a, b, c sonlarining raqamlari teskari
tartibda chiqaruvchi programma tuzilsin.
Funksiya prototipi quyidagicha bo’lishi
mumkin: int InvertDigit (int );
#include
using
namespace
std;
int
InvertDigit(
int
n
)
{
int
x = 0;
while
(
n
> 0)
{
int
b =
n
% 10;
n
=
n
/ 10;
x = x * 10 + b;
}
return
x;
}
int
main()
{
int
a, b, c;
cout
<<
"a="
; cin
>>
a;
cout
<<
"b="
; cin
>>
b;
cout
<<
"c="
; cin
>>
c;
cout
<<
a
<<
" teskarisi: "
<<
InvertDigit(a)
<<
endl;
cout
<<
b
<<
" teskarisi: "
<<
InvertDigit(b)
<<
endl;
cout
<<
c
<<
" teskarisi: "
<<
InvertDigit(c)
<<
endl;
}
49.Natural sonning raqamlari soni va
raqamlari yig’indisini hisoblovchi
DigitCountSum nomli funksiya hosil qiling.
Bu funksiya orqali a, b, c sonlarining
raqamlari soni va yig’indisini hisoblovchi
programma tuzilsin. void DigitCountSum
(int, int *, int *);
#include
using
namespace
std;
int
funk(
int
n
)
{
int
x = 0,y=0,z=
n
;
while
(
n
> 0)
{
int
b =
n
% 10;
n
=
n
/ 10;
x += b;
y++;
}
cout
<<
z
<<
" soning raqamlar soni va
yig'indisi: "
<<
y
<<
" "
;
return
x;
}
void
DigitCountSum(
int
a
,
int
b
,
int
c
)
{
cout
<<
funk(
a
)
<<
"\n"
;
cout
<<
funk(
b
)
<<
"\n"
;
cout
<<
funk(
c
)
<<
"\n"
;
}
int
main()
{
int
a, b, c;
cout
<<
"a,b,c larni kiriting: "
;
cin
>>
a
>>
b
>>
c;
DigitCountSum(a, b, c);
}
50.Teng tomonli 3 burchakning yuzasi va
perimetrini hisoblovchi Triangle nomli
funksiya hosil qiling. Triangle funksiyasi
orqali 3 ta teng tomonli uchburchakning
perimetri va yuzini hisoblovchi programma
tuzilsin. void Triangle(float , float *, float
*);
#include
using
namespace
std;
void
Triangle(
float
a
,
float
b
,
float
c
)
{
cout
<<
"Tomoni "
<<
a
<<
"bo'lgan
uchburchak Perimetri P="
<<
3 *
a
<<
"
yuzi S="
<<
(pow(
a
, 2) * sqrt(3)) / 4
<<
endl;
𝓕𝓪𝓽𝓴𝓱𝓲𝓭𝓭𝓲𝓷 𝓣𝓸𝓱𝓲𝓻𝓸𝓿
cout
<<
"Tomoni "
<<
b
<<
"bo'lgan
uchburchak Perimetri P="
<<
3 *
b
<<
"
yuzi S="
<<
(pow(
b
, 2) * sqrt(3)) / 4
<<
endl;
cout
<<
"Tomoni "
<<
c
<<
"bo'lgan
uchburchak Perimetri P="
<<
3 *
c
<<
"
yuzi S="
<<
(pow(
c
, 2) * sqrt(3)) / 4
<<
endl;
}
int
main()
{
float
a, b, c;
cout
<<
"3ta uchburchak tomonini
kiriting! "
; cin
>>
a
>>
b
>>
c;
Triangle(a, b, c);
}
52.N!!=N*(N-2)*(N-4)*… ifodani
hisoblovchi haqiqiy toifadagi Fact2(N)
rekursiv funksiyasi tuzilsin. (N>0 – butun
toifadagi parameter; agar N juft son bo’lsa,
ko’paytmadagi oxirgi ko’paytuvchi 2 ga va
agar N toq son bo’lsa, u holda 1 ga teng).
Shu funksiya yordamida berilgan 3 ta sonni
ikkilangan faktoriali hisoblansin.
54.Evklid algoritmi yordamida ikkita
musbat A va B sonlarining eng katta
umumiy bo’luvchisini topuvchi (EKUB)
butun toifadagi EKUB(A, B) rekursiv
funksiyasi tuzilsin.
#include
using
namespace
std;
int
ekub(
int
a
,
int
b
)
{
if
(
b
== 0)
return
a
;
return
ekub(
b
,
a
%
b
);
}
int
main()
{
int
a, b;
cout
<<
"a va b ni kirinting: "
;cin
>>
a
>>
b;
cout
<<
"EKUB("
<<
a
<<
","
<<
b
<<
")="
<<
ekub(a, b)
<<
endl;
}
55.K sonining raqamlar yig’indisini
takrorlanish operatoridan foyalanmagan
holda hisoblovchi butun toifadagi
DigitSum(K) rekursiv funksiyasi tuzilsin.
Shu funksiya yordamida berilgan 3 ta butun
sonning raqamlari yig’indisi topilsin.
#include
using
namespace
std;
int
DigitSum(
int
k
)
{
if
(
k
!= 0)
return
k
% 10 + DigitSum(
k
/ 10);
else
return
0;
}
int
main()
{
int
a, b, c;
cout
<<
"a="
; cin
>>
a;
cout
<<
"b="
; cin
>>
b;
cout
<<
"c="
; cin
>>
c;
cout
<<
a
<<
" raqamlar yig'indisi: "
<<
DigitSum(a)
<<
endl;
cout
<<
b
<<
" raqamlar yig'indisi: "
<<
DigitSum(b)
<<
endl;
cout
<<
c
<<
" raqamlar yig'indisi: "
<<
DigitSum(c)
<<
endl;
}
57.N1, N2 natural sonlari va s1, s2 satr
berilgan. s1 satrning dastlabki N1 ta
belgisidan va s2 satrning oxirgi
N2 ta belgisidan iborat yangi satr
hosil qiling.
#include
#include
using
namespace
std;
int
main()
{
int
n1, n2;
string
s1, s2,s=
""
;
cout
<<
"N1="
; cin
>>
n1;
cout
<<
"S1="
; cin
>>
s1;
cout
<<
"N2="
; cin
>>
n2;
cout
<<
"S2="
; cin
>>
s2;
s
=
s1.assign(s1, 0, n1 )
+
s2.assign(s2, s2.length() -
n2,(s2.length() -1));
cout
<<
s;
}
60.Berilgan so’zni simmetrikligi tekshirilsin.
#include
#include
using
namespace
std;
int
main()
{
string
s,f=
""
;
cout
<<
"so'zni kiriting: "
<<
endl;
getline(cin, s);
for
(
int
i = s.size() - 1; i >= 0; i-
-)
f
+=
s
[
i
]
;
if
(f
==
s)
cout
<<
"Siz kiritgan so'z
simmetrik!"
;
else
cout
<<
"Siz kiritgan so'z
simmetrik emas!"
; }