1. Kompyuter nima hardware, software Kompyuter nima




Download 91,02 Kb.
bet18/18
Sana14.05.2024
Hajmi91,02 Kb.
#231246
1   ...   10   11   12   13   14   15   16   17   18
Bog'liq
1. Kompyuter nima hardware, software-fayllar.org

cout<for(int i=0;ifor(int j=0;jcin>> m[i][j];
cout<<"\nBarcha elementlaryig`indisi:"<< sum(m,SATR_HAJM)<return 0; }
76.Rekursiv funksiyalar(recursive functions).Rekursiv funksiya – o`zini-o`zi chaqiruvchi yagona funksiya.Ko`pgina matematik funksiyalar rekursiyadan foydalangan holda hisoblanadi. Demak, ishni rekursiyani o`zida ifodalovchi, oddiy bir misolni ko`rib chiqishdan boshlaymiz. n sonining faktorialini quyidagicha ko`rinishda, rekursiv hisoblash mumkin:
0! = 1;
n! = n × (n - 1)!; n > 0
Berilgan n, soni uchun, n! ni qanday hisoblash mumkin? Bilamizki, 1! Ni topish juda oson. Chunki, 0! = 1 va 1! =1x0!.(n-1)! ni inobatga olib, n! ni n*(n-1)! Deb hisoblashimiz mumkin bo`ladi. Shu tarzda hisoblash qadamlarini (n-1)! ga kamaytiramiz. (n-1)! ni hisoblashni barcha qadamlar uchun, n0 ga teng bo`lgunga qadar, rekursiv ko`rinishda qo`llashimiz mumkin.
Keling, factorial(n)n! ni hisoblash funksiyasi bo`lsin. Agar funksiyani n=0 bilan chaqirsak, u birdaniga natija qaytaradi. Chunki, funksiya asosiy qism yoki to`xtash shartlarini ifodalovchi oddiy hollar uchun masalani qanday yechish kerakligini yaxshi biladi. Agar funksiyani n=0 bilan chaqirsak, u n-1 ning faktorialini hisoblash uchun quyi pog`onali masala deb tavsiflanuvchi qismni yechishga o`tadi. Quyi pog`onali masala ham alohida masala hisoblanadi, biroq u originaliga qaraganda biroz kichikroq va soddaroq bo`ladi. Har qanday quyi pog`onali masalaning ham o`z xususiyatlari mavjud bo`ladi. Biz bunday funksiyalarni rekursiv chaqiriluvchi, turli argumentlarga ega funksiya deb atashimiz mumkin.
factorial(n) ni hisoblash uchun rekursiv algoritmni soddagina qilib, quyidagicha yozishimiz mumkin:
if(n == 0) return 1;
elsereturnn*factoriaL(n-1);
Rekursiv chaqirish bir qancha rekursiv chaqirishlarni sodir etishi mumkin, chunki, funksiya quyi pog`onali masalani bir nechta quyi pog`onali masalalarni hisoblash orqali hisoblaydi. Rekursiv funksiya ishini to`xtatishi uchun masala so`nggi hisoblash holatiga qadar qayta ko`rib chiqilaverishi kerak. So`nggi hisoblash holatida funksiya uning chaqiruvchisiga qiymat qaytaradi, qiymatni qabul qilib olgan funksiya esa, o`zining chaqiruvchisiga qiymat yuboradi. Bu jarayon original (asosiy) masalaga qiymat yuborilguncha davom etadi. Va nihoyat, original masala factorial(n-1) ning yuborgan qiymatiga n ni ko`paytirishi va natijani qaytarishi mumkin.
82-misol
#include using namespace std;
intry(int n) { if(n<1) { return 0; }
else { return n%10+ry(n/10); } }
int main() { int n; cin>>n; cout<<"Natijasi="; cout<83-misol
#include
#include
using namespace std;
int main() { double v0,v1,t,a;
cin>>v0>>v1>>t; a=(v1-v0)/t;
cout<84-misol
#include
using namespace std;
int main() { inta,b,c; c in>>a;b=a/100;
cout#include
#include
using namespace std;
int main() { doublea,b,c,x,s;
cout<<"Masofanikiriting:";cin>>a;
cin>>b; cout<<" kmga 10 litrbenzinsarfqiladi"cin>>c; x=a/b*10;s=x*c;
cout<<"Jami sarfxarajatlar:"<86-misol
#include clude
using namespace std; int main() { doublea,b,c,d; cin>>a>>b>>c;
d=max(max(a,b),c); cout<<"Engkatta son bu "<87-misol
#include #include
using namespace std; int main ()
{ inta,b,c,d,e,f; cin>>a>>b>>c;
d=max(max(a,b),c); e=min(min(a,b),c);
f=a+b+c-d-e; cout<88-misol
#include include
using namespace std; int main()
{ doublex,y,r; cout<<"Radiusnikiriting: ";
cin>>r;
cout<<"Koordinatalarnikiriting: ";
cin>>x>>y; if(sqrt(x*x+y*y)<=r) cout<<"Nuqtaaylanaichidayotadi";
elsecout<<"Nuqtaaylanaichidayotmaydi"; }
89-misol
#include include
using namespace std; int main()
{ inta,b,c,d; cin>>a;
if(a%10==a || a/10==a%10 ) cout<<"Kiritganraqamizpalindrom";
b=a%100; c=b%10; d=a/100; if(c==d) cout<<"Kiritganraqamizpalindrom";
elsecout<<"Kiritganraqamizpalindromemas"; }
90-misol
#include include
#include
using namespace std;
int main() { int a; cout<<" Sonnikiriting "; cin>>a;
switch (a) {
case 0:cout<<"0"return 0;}
91-misol
#include
#include using namespace std; int main() { string city1, city2, city3;
cout<< "Birinchishaharnikiriting: ";
getline(cin, city1);
cout<< "Ikkinchishaharnikiriting: ";
getline(cin, city2);
cout<< "Uchinchishaharnikiriting: ";
getline(cin, city3); cout<< "Shaharlarningalfavitbo'yichatartibi ==> "; if (city1 < city2 && city2if (city1 < city3 && city3cout<< city1 << " " << city3 << " " << city2 #include nclude
using namespace std;
int main() { float S=0; for(inti=1; i<=97; i+=2) { S+=i/(i+2.0); } cout<93-misol
#include #include
using namespace std;
int main() {stringa;intn;
getline(cin,a); n=a.length();
for(inti=0;icout<94-misol
#include #include #include
using namespace std;
int main() { string a; int n;
getline(cin,a); n=a.length();
for(inti=1;icout<95-misol
#include #include
#include
using namespace std;
voidaniqla(int n) { if(n>=0) cout<<"Musbat son "; else cout<<"Manfiy son "; }
int main() { int n; cin>>n;
aniqla(n); }
97-misol
#include
#include
using namespace std;
int main() { double a[100],s=0,n,kam=0,kup=0;
for(inti=1; i<=100; i++){ cin>>a[i];
if(a[i]<0){ break; } s=s+a[i]; n=i; } s=s/n; for(inti=1; i<=n; i++){
if(a[i]>s) { kup++; } else{ kam++; } }cout<<"o'rtachaqiymatidanyuqori ="Download 91,02 Kb.
1   ...   10   11   12   13   14   15   16   17   18




Download 91,02 Kb.

Bosh sahifa
Aloqalar

    Bosh sahifa



1. Kompyuter nima hardware, software Kompyuter nima

Download 91,02 Kb.