گاهی اوقات لازم است که در یک حلقه، یک یا چند حلقه دیگر هم استفاده نمود. معروفترین مثال برنامه نویسی در مورد حلقه های تودرتو، نمایش جدول ضرب اعداد است:
static void Main(string[] args) { int i,j; for (i = 1; i < 10; i++) { for (j = 1; j < 10; j++) Console.Write("{0,4}", i * j); Console.WriteLine(); } Console.ReadKey(); }
در این مثال ابتدا برنامه وارد حلقه اول شده و شرط را بررسی می کند و با درستی آن به اجرای دستورات داخل حلقه می پردازد. اینجا برای حلقه آکولاد وجود دارد پس تمامی دستورات درون بلوک به ترتیب اجرا می شوند. سطر بعدی هم یک حلقه است که به ازای تعداد تکرار حلقه اول باید تکرار شود و در هر تکرار از حلقه بالا به تعداد تکرار خود نیز تکرار می شود، به دلیل عدم وجود آکولاد برای این حلقه، تنها سطر بعدی دستور حلقه داخلی است و تا نقیض شدن شرط حلقه آن سطر اجرا می شود. در این مثال ۱۰ بار حلقه درونی تکرار می شود و با هر بار تکرار فاصله ای بعد از نمایش عدد مورد نظر هم قرار می دهد.
مثال ۱: با استفاده از حلقه ی تو در تو برنامه ای بنویسید که شکل زیر را نمایش بدهد:
static void Main(string[] args) { int i, j; for (i = 1; i <= 6; i++) { for (j = 1; j <= i; j++) Console.Write("*"); Console.WriteLine(); } Console.ReadKey(); }
مثال ۱: با استفاده از حلقه ی تو در تو برنامه ای بنویسید که شکل زیر را نمایش بدهد:
static void Main(string[] args) { int i, j, k = 1; for (i = 1; i <= 6; i++) { for (j = 1; j <= 6 - i; j++) Console.Write(" "); for (j = 1; j <= k; j++) Console.Write("*"); k = k + 2; Console.WriteLine(); } Console.ReadKey(); }
چطوری تو مثال دوم ستاره هامون از بیشتر به کمتر نشون بده؟
سلام باید در حلقه داخلی اول به اندازه n ستاره چاپ کنید و هر دفعه یکی کم کنید