Quyidagi masalalarni algoritmning to’liq qurish bosqichlari bo’yicha yeching
To’rtxonali son berilgan. Uningraqamlariko’paytmasini toping
Kiritish
|
Chiqarish
|
1245
|
40
|
2306
|
0
|
Javob:
Masalani qo’yilishi:
Foydalanuvchi ikkita son kiritadi uning har bir honasidagi raqamlar kopaytiriladi. Va o’sha son natija qilib olinadi. Agar biron hona 0 dan iborat bolsa natija ham nol bo’ladi.
Masalani qurish :
1245 1*2*4*5=40 yoki
2306 2*3*0*6=0
Algoritmni ishlab chiqish:
1.Boshlash:
2.abc soni kiritiladi abc%10= = 0; natija=0;
3. aks holda natija=(abc%1000)*(((abc)%1000)/100)*(abc%10) ;
4. aks holda ((abc/10)%10)= = 0; natija=0;
5.abc uch honali son a,b,c raqamlar;
6. Tamom;
Algoritmni to’g’riligini tekshirish:
Misol uchun abc songa x uch xonali sonni olamiz
Demak bu sonning birlar xonasidagi raqam 3 o’nlar honasidagi son 2 yuzlar honasidagi son 1 ga teng;
1-qadam m=x/100;
2-qadam n=x/10;
3-qadam k=((x%100)/10);
4-qadam m=1; k=2; n=3;
5-qadam m*k*n=1*2*3;
6-qadam natija = 6; Tamom;
Algoritmni amalga oshirish(Dastur)
#include
using namespace std;
int main()
{
int n,y,m,u,b,s;
cin>>n;
if(n>999&&n<10000)
{ m=n/1000;
y=(n%1000)/100;
u=((n%1000)%100)/10;
b=((n%1000)%100)%10;}
s=m*y*u*b;
cout<
return 0;
}
Hujjatlashtirish:
#include
using namespace std;
int main()
{
int n,y,m,u,b,s;
cout<<"4 xonali son kiriting : ";
cin>>n;
if(n>999&&n<10000)
{ m=n/1000;//minglar xonasidagi raqam
y=(n%1000)/100;//yuzlar xonasidagi raqam
u=((n%1000)%100)/10;//o'nlar xonasidagi raqam
b=((n%1000)%100)%10;}//birlar xonasidagi raqam
s=m*y*u*b;
cout<
return 0;
}
Natija
2-Masala:
Kiritish
|
Chiqarish
|
1245
|
Yuzlar 2;
Minglar 1
|
2306
|
Yuzlar 3;
Minglar 2;
|
Masalaning qo’yilishi:
Biz dasturda ixtiyoriy to’rt xonali son kiritsak bu sonning yuzlar va minglar honasidagi raqamlarni konsol oynaga chiqarishimiz lozim:
Masalani qurish:
1245 Yuzlar=2; Minglar=1;
2306 Yuzlar=3; Minglar=2;
Algoritimni ishlab chiqish:
1: Boshlash:
2: tort xonali son kiritiladi abcd;
3: abcd/100 natijada Minglar=a;
4: ((abcd%1000) < 100)
5: Natija Yuzlar=0; aks holda Yuzlar=b;
6: Tamom;
Algoritm to’g’riligini tekshirish:
1-qadam: ixtiyoriy to’rt xonali son kiritamiz :
2-qadam: masalan: 1245
3-qadam: (1245/1000); Minglar=1;
4-qadam: ((1245%1000)/100); Yuzlar=2;
5-qadam: Tamom;
Algoritmni amalga oshirish(Dastur)
Hujjatlashtirish:
#include
using namespace std;
int main()
{
int n,y,m;
cin>>n;
if(n>999&&n<10000)
{ m=n/1000;
y=(n%1000)/100;}
cout<
return 0;
}
Hujjatlashtirish:
#include
using namespace std;
int main()
{
int n,y,m;
cout<<"4 xonalid son kiriting ";
cin>>n;
if(n>999&&n<10000)
{ m=n/1000;//minglar xonasidagi raqam
y=(n%1000)/100;//yuzlar xonasidagi raqam
}
cout<
return 0;
}
3-Masala:
N soniberilgan. Sondan nol raqamini o’chirib, hosil bo’lgan sonni aniqlang
Kiritish
|
Chiqarish
|
1045
|
145
|
2360
|
236
|
Masalaning qo’yilishi:
Bizga ixtiyoriy tort xonali son berilgan bo’lsin bu sonda 0 lar ishtirok etsa bu nollarni o’chirib qolgan raqamlardan iborat sonni hosil qilish kerak.Masalan 1045
Bu sonni 145 ko’rinishida chiqarishimiz lozim:
Masalani qurish:
1045 145 yoki
2360 236
Algoritmni ishlab chiqish:
1.Boshlash:
2.n to’rt xonali son kiritiladi
3.if(n[i]!=’0’) tekshiramiz;//minglar xonasidagi raqam
4.n sonidagi ramlari nolga teng bo’lmasa chiqaramiz
Algoritmni amalga oshirish:(DASTUR)
#include
using namespace std;
int main()
{
string a;
cin>>a;
for(int i=0;i
{ if(a[i]!='0')
cout<
return 0;
}
Natija:
Hujjatlashtirish
Natija :
#include
using namespace std;
int main()
{
string a;
cout<<"4 xonali son kiriting : ";
cin>>a;
for(int i=0;i{ if(a[i]!='0')// a sonini 0 belgisiga teng emasligiga tekshirish
cout<
return 0;
}
4-Masala:
Barcha besh xonali sonlarning raqamlari ko’paytmasi yig’indisini toping
Kiritish
|
Chiqarish
|
1*0*0*0*0+1*0*0*0*1+…+9*9*9*9*9
|
184528125
|
Masalani qo’yilishi:
Bizga barcha besh xonali sonlarnin raqamalri kopaytmalarining yig’indisini topsihimiz kerak:
Masalani qurish:
10000 1*0*0*0*0 10001 1*0*0*0*1
10000,10001 (1*0*0*0*0 + 1*0*0*0*1……….)
#include
using namespace std;
int main()
{
int s=0,n,x,y,z,q,w;
for(int i=10000;i<100000;i++)
{ x=i%10;
y=(i/10)%10;
z=(i/100)%10;
q=(i/1000)%10;
w=(i/10000);
n=x*y*z*q*w;
s+=n;}
cout<return 0;
}
Algoritimni ishlab xhiqish:
c) Oxirgi blok sxemaning dastur kodi:
#include
using namespace std;
int main()
{
int x,y,z;
cin>>x>>y;
if(x>2)
{ if(y>2)
{ z=x+y;
cout<else
cout<
return 0;
}
Natija :
Do'stlaringiz bilan baham: |