Guruh talabasi: Bekchanov Asadbek Tajriba ish №5 Mavzu



Yüklə 58,74 Kb.
səhifə2/2
tarix25.04.2022
ölçüsü58,74 Kb.
#56323
1   2
5-lab

#include

#include

using namespace std;
int main() {

for (int i = 1; i <= 10; i++) {

for (int j = 1; j <= 10; j++) {

printf("% 4d", i*j);

}

cout<<endl;



}

}


Ichma-ich siklga misollar.

Ichma-ich sikl

Chiquvchi ma’lumot

Tushintirish

for (int i = 1; i <= 3; i++) {

for (int j = 1; j <= 4; j++) {

cout << "*";

}

cout << endl; }



****

****


****

Har biri 4 ta * dan iborat 3 ta qator chiqaradi

for (int i = 1; i <= 4 i++) {

for (int j = 1; j <= 3; j++) {

cout << "*";

}

cout << endl; }



***

***


***

***


Har biri 3 ta * dan iborat 4 ta qator chiqaradi

for (int i = 1; i <= 4; i++){

for (int j = 1; j <= i; j++) {

cout << "*";

}

cout << endl;}



*

**

***



****

Uzunliklari 1,2,3,4 ga teng bo’lgan 4 ta qator chiqariladi

for (int i = 1; i <= 3; i++)

{

for (int j = 1; j <= 5; j++)



{

if (j % 2 == 0) { cout << "*"; }

else { cout << "-"; }

}

cout << endl;



}

-*-*-

-*-*-


-*-*-

Juft ustunlarda * chiqaradi, toq ustunlarda - chiqariladi.

for (int i = 1; i <= 3; i++)

{

for (int j = 1; j <= 5; j++)



{

if ((i + j) % 2 == 0) { cout << "*"; }

else { cout << " "; }

}

cout << endl;



}

* * *

* *


* * *

Shaxmat doskasi

Misol. Ko’paytmalarning umumiy yi’gindisini hisoblang.

a

Bu masalani ko’paytmalarning yi’gindisi deb nomlanadi. i o’zgaruvchining har bir qiymatida m o’zgaruvchi 1 dan 14 gacha qiymatlarni barchasini ifodaga qo’yib, ko’paytmasini topiladi. Har bir ko’paytmaning yig’indisi masalaning javobi bo’ladi.



#include

#include

using namespace std;
int main(){

float t,r,f;

int i,m,n;

cout<<"t=";

cin>>t;

cout<<"r=";

cin>>r;

cout<<"f=";

cin>>f;

cout<<"n=";

cin>>n;

double s=0;

for(i=1;i<=32;i++){

double p=1;

for(m=1;m<=14;m++){

p *= (log(i)+t*pow(m, 1.0*i))/(r * pow(m, 1.0*i)+f * pow(n, 2.0*i));

}

s=s+p;


}

cout<<"s="<endl;



return 0;

}

Murakkab siklni sindirish.



Masala. To’g’ri burchakli uchburchakning barcha tomonlari uzunliklari natural sonlar. Uning gipatenuzasi c berilgan. Uning katetlarini topish lozim. To’gri burchakli uchburchak shartini qanoatlantiradigan istalgan javoblardan birini topish yetarli. (1≤c≤103).

Yechimi. c≤1000 bo’lganligi uchun uchburchak katetlari uzunliklari ham 1000 dan oshmaydi. Katetlarni mumkin bo’lgan barcha variantlarini tekshirib chiqish uchun a katetni i paramertli sikl sifatida qaraymiz, b katetni i sikl ichida j parametrli sikl sifatida to’g’ri burchakli uchburchak bo’lish shartini qanoatlantirilishini tekshirish lozim(i2+j2=c2):

#include

using namespace std;

int main() {

int c;

cout<<"c=";

cin>>c;


bool found = false;

int a = 0, b = 0;

for (int i = 1; i <= 1000; i++) {

for (int j = 1; j <= 1000; j++) {

if (i*i + j*j==c*c) {

a = i;


b = j;

found = true;

}

}

}



if (found)

cout<

else

cout<<"Bunday sonlar yo'q";

}

Dastur yechimin tahlil qilib chiqamiz. c-gipotenuza uzunligini kiritamiz. found mantiqiy o’zgaruvchi e’lon qilamiz, bu o’zgaruvchida bunday gipotenuzali to’gri burchakli uchburchak mavjud yoki yo’qligi haqidagi mantiqiy ma’lumotni saqlaymiz. Dastlab bunday uchburchak mavjud emas deb tasavvur qilamiz(found = false). a katet sifatida i o’zgaruvchi bilan 1 dan 1000 gacha bo’lgan(1000 ning o’rniga c gacha tekshirish ham mumkin) iteratsiya qilamiz, bu sikl ichida b katet sifatida j o’zgaruvchi bilan iteratsiya aylantiramiz. Agar i, j va c sonlari to’g’ri burchakli uchburchak shartini qanoatlantirsa(if (i*i + j*j==c*c)) , u holda a katet sifatida i o’zgaruvchini, b katet sifatida j o’zgaruvchini qiymatlarini o’zlashtiramiz (a = i;b = j;) va topilganligi haqidagi ma’lumotni saqlaydigan mantiqiy o’zgaruvchiga rost qiymatini o’zlashtiramiz(found = true;).



Lekin bu ichma-ich sikl barcha variantlarni ko’rib chiqadi. Bizga faqat bitta variant kerak bo’lganligi sababli agar katetlar topilsa, siklni to’xtatishimiz foydaliroq bo’ladi. Siklni to’xtatish uchun quyidagicha yozish mumkin:

for (int i = 1; i <= 1000; i++) {

for (int j = 1; j <= 1000; j++) {

if (i*i + j*j==c*c) {

a = i;


b = j;

found = true;

break;

}

}



}

Bu shaklda siklni sindiradigan bo’lsak faqat ichki sikl sinadi, tashqi sikl keyingi iteratsiyadan davom qiladi. Siklni butunlay sindirish uchun har bir tashqi sikl iteratsiyasidan oldin tekshiramiz, agar javob topilgan bo’lsa u holda tashqi siklni sindiramiz.



for (int i = 1; i <= 1000; i++) {

if (found)

break;

for (int j = 1; j <= 1000; j++) {

if (i*i + j*j==c*c) {

a = i;


b = j;

found = true;

break;

}

}



}

goto operatori.

Agar ichma-ich joylashgan sikllar soni ko’p bo’ladigan bo’lsa u holda siklni sindirish uchun har bir siklda break operatorini yozish lozim bo’ladi. Buning o’rniga sikldan keyingi amallar bajarilishiga o’tish uchun goto operatoridan foydalanish mumkin. goto operatoridan keyin nishon yoziladi. Agar goto operatori yozilsa, dastur nishon yozilgan nuqtadan bajarishni davom qildiradi. Nishon harflar, $(dollor belgisi), _(pastki chiziqcha), raqamlardan iborat bo’ladi va raqam bilan boshlanmaydi.



#include

using namespace std;

int main() {

int c;

cout<<"c=";

cin>>c;


bool found = false;

int a = 0, b = 0;

for (int i = 1; i <= 1000; i++) {

for (int j = 1; j <= 1000; j++) {

if (i*i + j*j==c*c) {

a = i;


b = j;

found = true;

goto label_1;

}

}



}

label_1:

if (found)

cout<

else

cout<<"Bunday sonlar yo'q";

}

1-topshiriq


  1. Variant



#include

#include

using namespace std;

int main() {

double s=0,p=1,ss=0,b;

int a,x,k,y;

cout << "a= ";

cin >> a;

cout << "b= ";

cin >>b;

for (x=5;x<=10;x++){

s+=a*x+b;

}

for(a=10;a<=15;a++) {

p*=(a+b)/sqrt(a*a+x*x);

}

for (k=1;k<=5;k++) {

double m=0;

for (y=2;y<=7;y++){

m+=(a*k+b*y)/sqrt(k*k+y*y);

}

ss+=m;

}

cout<<"s= "<

  • Natural n(0
    #include

    #include

    using namespace std;

    int main() {

    int n,a=0;

    cout << " ";

    cin >> n;

    for (int i=1; i<=n; i++) {

    a=0;

    for (int j=1; j<=i/2;j++) {



    if (i%j==0) {

    a+=j;


    }

    }

    if(a==i) cout<

    }

    }




    Yüklə 58,74 Kb.

    Dostları ilə paylaş:
  • 1   2




    Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
    rəhbərliyinə müraciət

    gir | qeydiyyatdan keç
        Ana səhifə


    yükləyin