A while ciklus
Más néven: „amíg ciklus”, elöltesztelő ismétlő szerkezet
„ciklus” = ismétlő szerkezet / utasítás
Szerkezete:
1
2
| while (feltétel)
utasítás
|
vagy:
1
2
3
4
5
| while (feltétel) {
utasítás1
utasítás2
...
}
|
Működése:
Le lesz ellenőrizve a feltétel, ha igaz, akkor végrehajtódnak a ciklusban
levő utasítások. Majd megint ellenőrződik a feltétel és ha igaz megint végrehajtódnak.
És így tovább… Amint a feltétel hamis, megáll (nem hajtódnak többet végre).
Példák
Végtelen ciklus (sosem áll meg):
1
2
3
4
5
6
7
8
9
10
11
| #include <iostream>
using namespace std;
int main()
{
while (1 < 2) {
cout << "hello, world!" << endl;
}
return 0;
}
|
Kiírjuk a számokat 1-től 100-ig:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| #include <iostream>
using namespace std;
int main()
{
int szam = 1;
while (szam <= 100) {
cout << szam << endl;
szam = szam + 1;
}
return 0;
}
|
Beolvasunk egy pozitív egész n-t, írjuk ki a term. számokat 1-től n-ig!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| #include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
int i = 1;
while (i <= n) {
cout << i << " ";
i = i + 1;
}
cout << endl;
return 0;
}
|
Beolvasunk egy pozitív egész n-t, írjuk ki a term. számokat n-től 1-ig!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| #include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
while (n >= 1) {
cout << n << " ";
n = n-1;
}
return 0;
}
|
Feladatok
1. Írjuk ki 100-szor azt a szöveget, hogy “az info hazi is kell, nem csak a fizika”!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| #include <iostream>
using namespace std;
int main()
{
int n = 100;
//cin >> n;
int i = 1;
while (i <= n) {
cout << "az info hazi is kell, nem csak a fizika" << endl;
i = i + 1;
}
return 0;
}
|
2. Beolvasunk egy n számot, írjuk ki a term. számokat n-től 1-ig (tehát visszafelé)!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| #include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
int i = n;
while (i >= 1) {
cout << i << " ";
i = i - 1;
}
cout << endl;
return 0;
}
|
3. Beolvasunk egy n számot, írjuk ki a páros számokat 1-től n-ig!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| #include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
int i = 1;
while (i <= n) {
if (i % 2 == 0) {
cout << i << " ";
}
i = i + 1;
}
cout << endl;
return 0;
}
|
4. Beolvasunk egy n számot, írjuk ki az 1 és n közötti páros természetes számokat csökkenő sorrendben!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| #include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
int i = n;
while (i >= 1) {
if (i % 2 == 0) {
cout << i << " ";
}
i = i - 1;
}
cout << endl;
return 0;
}
|
Vagy:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| #include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
int i = n;
if (n % 2 == 1) {
i = n-1;
}
while (i >= 1) {
cout << i << " ";
i = i - 2;
}
cout << endl;
return 0;
}
|