PDA

View Full Version : سوال: الگو اعداد



azitaj
جمعه 01 اردیبهشت 1396, 00:20 صبح
سلام
ببخشید من این قطعه کد نوشتم و می خوام این اعداد را در text box نمایش بده
1
12
123
1234

حالا فقط عدد 4 رو نمایش میده
text box هم خاصیت multi line اشو trueکردم

for(int i=1;i<=4;i++)
{
for(int j=1;j<=i;j++)
{
textBox1.Text= i.ToString();


}

اگه ممکنه راهنمایی کنید که مشکلش کجاست

mmbguide
جمعه 01 اردیبهشت 1396, 00:42 صبح
String n = "";
for (int i = 1; i <= 4; i++)
{
textBox1.AppendText( n+ i.ToString() + System.Environment.NewLine);
n =n + i;
}
بیرون از حلقه یک متغیر رشته ای با مقدار خالی دارید.
از دستور Append باری اضافه کردن متن اضافه شده.
i=1
در حلقه اول مقدار n با مقدار شمارنده i جمع زده می شود و در انتها یک NewLine ایجاد میکند تا مقدار بعدی در خط جدید نمایش داده شود.
در انتهای حلقه مقدار شمارنده i در متغیر n قرار میگیرد.
i=2
مقدار n=1 بعلاوه مقدار جدید شمارنده i=2
مجددا متغیر n با مقدار شمارنده جمع زده می شود: 12
i=3
مقدار n=2 بعلاوه مقدار جدید شمارنده i=3
مجددا متغیر n با مقدار شمارنده جمع زده می شود: 123
و...
در هر بار اجرای حلقه شما با مقادیر قبلی موجود در textBox کاری ندارید و فقط مقدار جدید به اون Append می شود.

azitaj
جمعه 01 اردیبهشت 1396, 11:11 صبح
ممنون
اگه بخوایم این الگو رو بنویسیم باید چه طوری نوشت
1
22
333
4444

azitaj
جمعه 01 اردیبهشت 1396, 11:19 صبح
ببخشید من یه سوال دارم
توی این سایت http://www.w3resource.com/csharp-exercises/for-loop/csharp-for-loop-exercise-11.php
چرا از Console.Write("\n\n"); استفاده کرده؟
اصلا console چی هستش؟

mmbguide
جمعه 01 اردیبهشت 1396, 11:53 صبح
ممنون
اگه بخوایم این الگو رو بنویسیم باید چه طوری نوشت
1
22
333
4444
متغیر n رو حذف کن و داخل حلقه فقط کد زیر رو بنویس:
textBox1.AppendText( string.Concat(Enumerable.Repeat(Convert.ToString(i ),i)) + System.Environment.NewLine);