PDA

View Full Version : مبتدی: نحوه نوشتن متد میانگین با تعداد پارامترهای دریافتی متغیر



sahel65
جمعه 02 فروردین 1392, 02:49 صبح
سلام؛
ساعاتتون بخیر و خوشی؛
دوستان به کلاسی که نوشتم نگاه کنید:

using System;
namespace ConsoleApplication1
{
class Program
{
static void Main()
{
AVG myclass=new AVG();
Console.WriteLine(myclass.process(5, 7));
}
}
class AVG
{
int a, b;
public int process(int A, int B)
{
this.a = A;
this.b = B;
return (a + b) / 2;
}
}
}



1- چجوری متد process رو تغییرش بدم که هر مقدار عدد که خواستیم رو بتونه میانگینشو حساب کنه؟(در اینجا فقط 2 تا عدد رو داره حساب میکنه). از params باید استفاده کنم؟
2- میشه نحوه نوشتن Get و Set در این کلاس و مزیت کاربردش رو بهم بگید؟

ali_habibi1384
جمعه 02 فروردین 1392, 03:35 صبح
متد get براي خوندن و متد set براي مقدار دادن value استفاده ميشه مزيتش خوانايي برنامه و دسترسي اشياي ساخته شده اون كلاس به مقدار value
براي ميانگين چند عدد از آرايه استفاده كنيد(يك آرايه پاس بديد)

esafb52
جمعه 02 فروردین 1392, 11:38 صبح
سلام اینو ببین

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
double d=averge(20, 20, 20, 20, 20,20,20,10,15,15,18,14,18,18,8,14,225,225,90);
Console.WriteLine(d);
double a = averge(20, 20, 20, 20, 20, 20, 20, 10, 15, 5565);
Console.WriteLine(a);
Console.ReadLine();
}
public static double averge(params double[] numbers)
{
double ave = 0;
int a = 0;
foreach (double number in numbers)
{
ave += number;
a++;
}
double result =ave /a;
return result;
}
}
}

sahel65
شنبه 03 فروردین 1392, 19:34 عصر
ممنونم دوست عزیز؛
کمکم کرد.
فقط یه سوال داشتم ؛ چون خودمم دوست داشتم بنویسم پیغامی که الان داره میده برای برنامه ای که نوشتم از چیه؟



using System;
namespace ConsoleApplication1
{
class Program
{
static void Main()

{

AVG myclass = new AVG();
int[] i = new int[5];
myclass.process();
}
}
class AVG

{
int a=0;

public void process(params int[] i)

{

for (int j = 0; j <= i.Length; j++)
{

i[j]=int.Parse(Console.ReadLine());

}
Console.WriteLine(a);

}
}
}



خطای آرایه رو میده و تو خطی که Bold شده این پیغام رو نمایش میده:


Index was outside the bounds of the array.

RED-C0DE
یک شنبه 04 فروردین 1392, 00:15 صبح
خط 24 رو بصورت زیر اصلاح کن:
for (int j = 0; j < i.Length; j++)

در C# آرایه ها از اندیس 0 شروع می شن و تو حلقه از "0 تا کوچکتر از اندازه ی آرایه" باید حرکت کنید نه "کوچکتر مساوی"