Pętla for

Stronę tą wyświetlono już: 229 razy

Pętla for jest pętlą typu wyliczeniowego, gdzie stosuje się licznik najczęściej w postaci liczby całkowitej int zmieniany o pewien stały krok dopóki nie zostanie spełniony z góry określony warunek zakończenia pętli. Przykładowy kod z użyciem pętli for podany został poniżej.

Listing 1
  1. #include <iostream>
  2. using namespace std;
  3. int main(){
  4. int s = 0;
  5. cout<<"Podaj wartość obliczanej silni:";
  6. cin>>s; // Wyczytywanie wartości, której silnia ma być obliczona
  7. int silnia = 1; // zmienna do przechowywania obliczonej silni
  8. for(int i = 1 /*od i = 1*/; i <= s /*do i<=s*/; i++/*z krokiem o 1*/){
  9. silnia *= i; // mnożenie aktualnej wartości silni prze i
  10. }
  11. cout<<s<<"!="<<silnia; // wyświetlanie wyniku
  12. cout<<"Wcisnij enter, aby zamknac program...";
  13. cin.get();
  14. return 0;
  15. }

Krok może być dowolny, choć w powyższym przykładzie krok wynosił 1, to nic nie stoi na przeszkodzie aby zmienić go na dowolny inny np. poprzez użycie w kodzie następującego zapisu:

Listing 2
  1. for(int i = 1 /*od i = 1*/; i <= s /*do i<=s*/; i--/*z krokiem o -1*/){
  2. //instrukcje wewnętrzne
  3. }

Dla kroku równym 10:

Listing 3
  1. for(int i = 1 /*od i = 1*/; i <= s /*do i<=s*/; i+=10/*z krokiem o 10*/){
  2. //instrukcje wewnętrzne
  3. }

Istnieje też możliwość przerwania wykonywania danej pętli za pomocą słowa kluczowego break w następujący przykładowy sposób:

Listing 4
  1. for (int i = 1; i < 10; i++)
  2. {
  3. cout<<i<<endl;
  4. if (i == 4) // gdy i jest równe zero
  5. break; // zakończ pętlę for
  6. }
  7. }

Można również pominąć w iteracji wykonanie jednej instrukcji poprzez wykorzystanie słowa kluczowego continue w następujący sposób:

Listing 5
  1. for(int i = 1; i < 10; i++)
  2. {
  3. cout<<i<<endl;
  4. if (i == 4) // gdy i jest równe zero
  5. continue; // zakończ pętlę for
  6. cout<<"=========="<<endl;
  7. }

Możliwe jest również pominięcie nawiasów klamrowych gdy instrukcja mieści się w jednej linijce kodu:

Listing 6
  1. for(int i = 0; i < 10; i++)
  2. cout<<i+1<<endl;

Można również wykorzystać pętlę for w następujący sposób:

Listing 7
  1. int i = 0;
  2. for(;i < 10;){
  3. cout<<i + 1<<endl;
  4. i++;
  5. }

chociaż nie jest to zalecane, bo do tego celu służy pętla while.

Można też całkowicie pominąć elementy nagłówka pętli for w sposób następujący:

Listing 8
  1. int i = 0;
  2. for(; ; )
  3. {
  4. if(i < 10){
  5. cout<<i + 1<<endl;
  6. i++;
  7. }else
  8. break;
  9. }

Komentarze