با سلام خدمت همۀ دوستان، من میخواستم یه برنامه برای تشخیص میانگین n عدد بنویسم. (در واقع یعنی کاربر تا هروقت دلش خواست عدد وارد کنه و در نهایت با وارد کردن کاراکتر c میانگین اعدادی که وارد کرده رو مشاهده کنه)
برای اینکار من یه آرایه تک بعدی از نوع int تعریف کردم و مقدار طول اولیه ی اون رو برابر با 1 قرار دادم.
این سورسم:
int[] numbers = new int[1]; for (int i = 0; i < numbers.Length + 1; i++) { if (numbers.Length < (i + 1)) { numbers = new int[i + 1]; } Console.Write("Enter the number {0}: (or enter 'c' to Calculate...) ", i + 1); var userSelection = Console.ReadLine(); if (userSelection == "c") break; else numbers[i] = int.Parse(userSelection); sum1 = sum1 + numbers[i]; } var average1 = sum1 / numbers.Length; //we can use "scores.Length" & index + 1; Console.WriteLine("Your average is " + average); Console.ReadKey();
مشکل من توی قسمت if اول داخل حلقه ام هست. من میخوام یه دستوری اونجا بنویسم که هروقت تعداد متغیر حلقه بعلاوه یک، از طول آرایه بیشتر بود، یک واحد به طول آرایه اضافه کن. اما با اون دستوری که من نوشته بودم، بعد از اینکه مثلا کاربر دو عدد وارد میکنه، این دستور (numbers = new int[i + 1];) باعث میشه مقادیر قبلی پاک بشه و عملا یک آرایه جدید میسازه!
ممنون میشم دوستان راهنماییم کنن.
این پست در تاریخ {{ dateString(new Date(post.deleteDate)) }} توسط {{ post.deletedByUser }} حذف شده است.
دلیل حذف: {{ post.deleteReason ?? 'نامشخص' }}
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود