for loop
Kiejtés
- IPA: [ ˈforloop]
Főnév
- (informatika) A for ciklus egy vezérlési szerkezet C++-ban, amely lehetővé teszi egy adott utasításblokk többszöri végrehajtását, amíg egy megadott feltétel teljesül. Ez az egyik leggyakrabban használt ciklusszerkezet a programozásban, mivel kompakt és jól strukturált megoldást biztosít iterációs feladatokhoz.
1. A for ciklus szerkezete és működése
A for ciklus három fő részből áll:
for (initialization; condition; increase) {
// Ciklus törzse (statement)
}
A ciklus elemei:
- Inicializáció (
initialization): A ciklusban használt változók kezdeti értékeinek beállítása. Ez egyszer hajtódik végre a ciklus elején. - Feltétel (
condition): Egy logikai kifejezés, amely meghatározza, hogy a ciklus folytatódik-e. Ha igaz, a ciklus törzse végrehajtódik; ha hamis, a ciklus kilép. - Növelés (
increase): A ciklus változóinak frissítése minden iteráció végén. - Ciklus törzse (
statement): Az a kódrészlet, amely minden iteráció során végrehajtódik.
2. Egyszerű példa – Számok kiíratása
Az alábbi C++ program kiírja az 1-től 10-ig terjedő számokat a képernyőre.
#include <iostream>
int main() {
for (int i = 1; i <= 10; i++) {
std::cout << i << " ";
}
return 0;
}
Működés lépésről lépésre:
- Inicializáció:
i = 1 - Feltétel ellenőrzése:
i <= 10(igaz) - Törzs végrehajtása: Kiírja
iértékét - Növelés:
i++(következő érték:2) - Visszatérés a feltételhez, és az egész folyamat ismétlődik, amíg
i <= 10nem hamissá válik.
Kimenet:
1 2 3 4 5 6 7 8 9 10
3. For ciklus és tömbök
A for ciklus gyakran használatos tömbök bejárására.
Tömb elemeinek kiíratása
#include <iostream>
int main() {
int tomb[5] = {10, 20, 30, 40, 50};
for (int i = 0; i < 5; i++) {
std::cout << tomb[i] << " ";
}
return 0;
}
Kimenet:
10 20 30 40 50
Ebben a példában a for ciklus végigmegy az i indexen, és kiírja az adott indexű tömbelem értékét.
4. Tartomány alapú for ciklus (Range-based for loop)
C++11-től kezdve egy kényelmesebb módja van a tömbök és vektorok bejárásának.
Példa vektor bejárására
#include <iostream>
#include <vector>
int main() {
std::vector<int> szamok = {10, 20, 30, 40, 50};
for (int szam : szamok) {
std::cout << szam << " ";
}
return 0;
}
Kimenet:
10 20 30 40 50
Ebben az esetben a for ciklus minden iterációban egy új elem értékét veszi ki a szamok vektorból.
5. Speciális for ciklus használati módok
Hátrafelé számláló for ciklus
#include <iostream>
int main() {
for (int i = 10; i >= 1; i--) {
std::cout << i << " ";
}
return 0;
}
Kimenet:
10 9 8 7 6 5 4 3 2 1
Ebben a ciklusban i csökken minden iteráció után.
For ciklus többsoros léptetéssel
#include <iostream>
int main() {
for (int i = 0; i <= 10; i += 2) {
std::cout << i << " ";
}
return 0;
}
Kimenet:
0 2 4 6 8 10
Itt a for ciklus minden iterációban i-t 2-vel növeli.
6. For ciklus megszakítása és kihagyása
Kilépés a ciklusból (break)
A break utasítás azonnal kilép a for ciklusból.
#include <iostream>
int main() {
for (int i = 1; i <= 10; i++) {
if (i == 5) {
break; // Kilép a ciklusból, ha i == 5
}
std::cout << i << " ";
}
return 0;
}
Kimenet:
1 2 3 4
A ciklus i = 5 esetén megszakad.
Iteráció kihagyása (continue)
A continue utasítás kihagyja az aktuális iteráció hátralévő részét, és továbblép a következő iterációra.
#include <iostream>
int main() {
for (int i = 1; i <= 10; i++) {
if (i == 5) {
continue; // 5 kihagyása
}
std::cout << i << " ";
}
return 0;
}
Kimenet:
1 2 3 4 6 7 8 9 10
Az i == 5 iterációban a continue utasítás miatt a std::cout utasítás nem hajtódik végre.
7. For ciklus teljes elhagyása
Ha a feltételt azonnal false-ra állítjuk, a ciklus nem fut le.
for (int i = 0; i < 0; i++) {
std::cout << "Ez nem jelenik meg." << std::endl;
}
Ez a ciklus egyszer sem fut le, mert a feltétel eleve false.
8. Több változó használata a for ciklusban
#include <iostream>
int main() {
for (int i = 0, j = 10; i <= 5; i++, j--) {
std::cout << "i: " << i << ", j: " << j << std::endl;
}
return 0;
}
Kimenet:
i: 0, j: 10 i: 1, j: 9 i: 2, j: 8 i: 3, j: 7 i: 4, j: 6 i: 5, j: 5
Ez a technika hasznos lehet például két különböző indexű tömb bejárásánál.
Összegzés
✅ A for ciklus kiválóan alkalmas ismétlődő műveletek végrehajtására, ahol az iterációk száma előre ismert.
✅ Használata tömbökkel és vektorokkal megkönnyíti az adatok feldolgozását.
✅ Speciális vezérlőutasítások (break, continue) finomhangolhatják a ciklus működését.
✅ C++11 óta tartomány alapú for ciklus még kényelmesebbé teszi az adatszerkezetek bejárását.