13 / 90

C++ for Loop

C++ for sikli

Kompyuter dasturlashda kod blokini takrorlash uchun sikllardan foydalaniladi.

Masalan, biz xabarni 100 marta ko'rsatmoqchimiz deylik. Keyin chop etish buyrug'ini 100 marta yozish o'rniga, biz sikldan foydalanishimiz mumkin.

Bu oddiy misol edi; biz looplardan samarali foydalanish orqali dasturlarimizda ancha samaradorlik va murakkablikka erishishimiz mumkin.

C++ da 3 turdagi sikllar mavjud.

  • for loop
  • while loop
  • do...while loop

Ushbu qo'llanma C++ for sikliga qaratilgan. Boshqa turdagi sikllar haqida biz kelgusi darslarda bilib olamiz.

C++ for sikli

for-loop sintaksisi:

example.cpp
for (initialization; condition; update) {
    // sikl tanasi
}

Bu yerga,

-initialization - o'zgaruvchilarni ishga tushiradi va faqat bir marta bajariladi -condition - agar true bo'lsa, for siklining tanasi bajariladi agar false bo'lsa, for sikli tugatiladi -update - ishga tushirilgan o'zgaruvchilar qiymatini yangilaydi va yana holatni tekshiradi

conditions haqida ko'proq bilish uchun C++ Relational and Logical Operators bo'yicha o'quv qo'llanmamizga qarang.

C++ da for Loop ning oqim sxemasi

Flowchart of for loop in C++

C++ for loop flowchart

1-misol: 1 dan 5 gacha raqamlarni chop etish

example.cpp
#include <iostream>

using namespace std;

int main() {
        for (int i = 1; i <= 5; ++i) {
        cout << i << " ";
    }
    return 0;
}

Chiqish

kod
1 2 3 4 5

Mana bu dastur qanday ishlaydi

Takrorlash oʻzgaruvchisi i Harakat 1- i = 1 true 1 chop etildi. i 2 ga oshiriladi. 2-chi i = 2 true 2 chop etildi. i 3 ga oshiriladi. 3-chi i = 3 true 3 chop etildi. i 4 ga oshirildi. 4-chi i = 4 true 4 chop etildi. i 5 ga oshirildi. 5-chi i = 5 true 5 chop etildi. i 6 ga oshirildi. 6- i = 6 false Loop tugatildi

2-misol: Matnni 5 marta ko'rsatish

example.cpp
// C++ matnni 5 marta aks ettirish uchun dastur

#include <iostream>

using namespace std;

int main() {
    for (int i = 1; i <= 5; ++i) {
        cout <<  "Hello World! " << endl;
    }
    return 0;
}

Chiqish

kod
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!

Mana bu dastur qanday ishlaydi

Takrorlash oʻzgaruvchisi i Harakat 1- i = 1 true Salom dunyo! chop etiladi va i 2 ga oshiriladi. 2- i = 2 true Salom dunyo! chop etiladi va i 3 ga oshiriladi. 3- i = 3 true Salom dunyo! chop etiladi va i 4 ga oshiriladi. 4- i = 4 true Salom dunyo! chop etiladi va i 5 ga oshiriladi. 5- i = 5 true Salom dunyo! chop etiladi va i 6 ga oshiriladi. 6- i = 6 false Loop tugatildi

3-misol: Birinchi n natural sonning yig‘indisini toping

example.cpp
// Birinchi n ta natural sonning yig'indisini topish uchun C++ dasturi
// 1,2,3,...n kabi musbat sonlar natural sonlar deb ataladi

#include <iostream>

using namespace std;

int main() {
    int num, sum;
    sum = 0;

    cout << "Enter a positive integer: ";
    cin >> num;

    for (int i = 1; i <= num; ++i) {
        sum += i;
    }

    cout << "Sum = " << sum << endl;

    return 0;
}

Chiqish

kod
Enter a positive integer: 10
Sum = 55

Yuqoridagi misolda bizda ikkita o'zgaruvchi bor num va sum. Sum o'zgaruvchisi 0 bilan, num o'zgaruvchisi esa foydalanuvchi tomonidan taqdim etilgan qiymat bilan belgilanadi.

E'tibor bering, biz for siklidan foydalanganmiz.

example.cpp
for(int i = 1; i <= num; ++i)

Bu yerga,

-int i = 1 : i o'zgaruvchisini ishga tushiradi -i <= num : i sondan kichik yoki unga teng bo'lganda siklni ishga tushiradi -++i : har bir iteratsiyada i o'zgaruvchisini 1 ga oshiradi

i 11 bo'lganda, condition false bo'ladi va summa 0 + 1 + 2 + ... + 10 ga teng bo'ladi.

Loop uchun diapazonli

C++ 11 da arrays va vectors kabi to'plamlar bilan ishlash uchun yangi diapazonga asoslangan for sikli joriy etildi. Uning sintaksisi:

example.cpp
for (variable : collection) {
    // sikl tanasi
}

Bu erda to'plamdagi har bir qiymat uchun for sikli bajariladi va qiymat o'zgaruvchiga tayinlanadi.

4-misol: Loopga asoslangan diapazon

example.cpp
#include <iostream>

using namespace std;

int main() {
  
    int num_array[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
  
    for (int n : num_array) {
        cout << n << " ";
    }
  
    return 0;
}

Chiqish

kod
1 2 3 4 5 6 7 8 9 10

Yuqoridagi dasturda biz num_array nomli int massivini e'lon qildik va ishga tushirdik. Unda 10 ta element mavjud.

Bu erda biz massivdagi barcha elementlarga kirish uchun diapazonga asoslangan for siklidan foydalandik.

C++ Infinite for loop

Agar for siklidagi condition har doim true bo'lsa, u abadiy ishlaydi (xotira to'lguncha). Masalan,

example.cpp
// cheksiz for loop
for(int i = 1; i > 0; i++) {
    // kod bloki
}

Yuqoridagi dasturda condition har doim true bo'lib, u kodni cheksiz vaqt davomida ishlaydi.

Shuningdek o'qing: