4-Amaliy ish Mavzu: Takrorlanuvchi tuzilmali algoritmlar va ularning dasturi Ishdan maqsad


Murakkab takrorlanuvchi algoritmlarni dasturlash



Yüklə 151,36 Kb.
səhifə4/7
tarix05.11.2022
ölçüsü151,36 Kb.
#67527
1   2   3   4   5   6   7
Dasturlash. 4-amaliy ishi 46b78f5d79eff0b68db01199c725339f

Murakkab takrorlanuvchi algoritmlarni dasturlash
Murakkab takrorlanuvchi jarayonlar uchun ichma-ich sikllar yozish talab qilinadi. Ichma-ich sikllarda bir sikl boshqa sikl ichida bo’ladi. Ichma-ich sikllarni jadvallar bilan ishlaganda qo’llash mumkin. Tashqi sikl barcha qatorlar bo’yicha, ichki sikl joriy qatordagi ustunlar bo’yicha iteratsiya qiladi.
Quyidagicha ko’paytirish jadvalidagi sonlarni chiqarish lozim bo’lsin:
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100
Siklni qatorma-qator i o’zgaruvchini bilan, har bir qatorda ustun bo’yicha j o’zgaruvchi bilan iteratsiya qilamiz. i-qator va j-ustunida i*j ni chiqaramiz. Har bir qatorni chiqarib bo’lgach, keyingi qatorga o’tamiz:
#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< }
}


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.

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="<return 0;
}



Yüklə 151,36 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6   7




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