У овом чланку ћемо научити о угнежђеним петљама у Ц #. Научићемо да користимо угнежђене петље за, док и за време рада у програму.
Петља унутар друге петље назива се угнежђена петља. Овако изгледа угнежђена петља:
Спољна петља (// тело спољне петље Унутрашња петља (// тело унутрашње петље)………)
Као што видите, спољна петља затвара унутрашњу петљу . Унутрашња петља је део спољне петље и мора започети и завршити унутар тела спољне петље.
На свакој итерацији спољне петље, унутрашња петља се извршава у потпуности.
Угњежђено за петљу
Петља фор унутар друге фор петље назива се угнежђена петља фор.
На пример:
фор (инт и = 0; и <5; и ++) (// тело спољне фор петље за (инт ј = 0; ј <5; ј ++) (// тело унутрашње фор петље) // тело спољне фор петље )
Пример 1: Угњежђено за петљу
using System; namespace Loop ( class NestedForLoop ( public static void Main(string() args) ( int outerLoop = 0, innerLoop = 0; for (int i=1; i<=5; i++) ( outerLoop ++; for (int j=1; j<=5; j++) ( innerLoop++; ) ) Console.WriteLine("Outer Loop runs (0) times", outerLoop); Console.WriteLine("Inner Loop runs (0) times", innerLoop); ) ) )
Када покренемо програм, излаз ће бити:
Спољна петља ради 5 пута Унутрашња петља ради 25 пута
У овом програму, спољна петља ради пет пута. Сваки пут када се спољашња петља покрене, унутрашња се пет пута изврши, што чини 25 пута укупно.
Пример 2: Угњежђено за образац петље за штампање
using System; namespace Loop ( class NestedForLoop ( public static void Main(string() args) ( for (int i=1; i<=5; i++) ( for (int j=1; j<=i; j++) ( Console.Write(j + " "); ) Console.WriteLine(); ) ) ) )
Када покренемо програм, излаз ће бити:
1 1 2 1 2 3 1 2 3 4 1 2 3 4 5
Угњежђена вхиле петља
Петља вхиле унутар друге вхиле петље назива се угнијежђена вхиле петља.
На пример:
вхиле (цондитион-1) (// тело спољне вхиле петље вхиле (цондитион-2) (// тело унутрашње вхиле петље) // тело спољне вхиле петље)
Пример 3: Гнездо док петља
using System; namespace Loop ( class NestedWhileLoop ( public static void Main(string() args) ( int i=0; while (i<2) ( int j=0; while (j<2) ( Console.Write("((0),(1)) ", i,j); j++; ) i++; Console.WriteLine(); ) ) ) )
Када покренемо програм, излаз ће бити:
(0,0) (0,1) (1,0) (1,1)
Угњежђена петља до-вхиле
До-вхиле петља унутар друге до-вхиле петље назива се угнежђена до-вхиле петља.
На пример:
до (// тело спољне вхиле петље до (// тело унутрашње вхиле петље) вхиле (цондитион-2); // тело спољне вхиле петље) вхиле (цондитион-1);
Пример 4: Угњежђена петља до-вхиле
using System; namespace Loop ( class NestedWhileLoop ( public static void Main(string() args) ( int i=0; do ( int j=0; do ( Console.Write("((0),(1)) ", i,j); j++; ) while (j<2); i++; Console.WriteLine(); ) while (i<2); ) ) )
Када покренемо програм, излаз ће бити:
(0,0) (0,1) (1,0) (1,1)
Различите унутрашње и спољашње угнежђене петље
Није обавезно гнездити исту врсту петље. Можемо да ставимо фор петљу унутар вхиле петље или до-вхиле петљу унутар фор петље.
Пример 5: Угњежђена петља Ц #: Различите унутрашње и спољашње петље
using System; namespace Loop ( class NestedLoop ( public static void Main(string() args) ( int i=1; while (i<=5) ( for (int j=1; j<=i; j++) ( Console.Write(i + " "); ) Console.WriteLine(); i++; ) ) ) )
Када покренемо програм, излаз ће бити:
1 2 2 3 3 3 4 4 4 4 5 5 5 5 5
У горњем програму, фор петља је смештена унутар вхиле петље. Можемо користити различите типове петље унутар петље.