PDA

View Full Version : سوال: Delegate



ArenaSmi
چهارشنبه 01 مهر 1388, 22:20 عصر
با سلام اين يه برنامه رسم با استفاده از Delegate هست در خطي كه با قرمز مشخص شده run time Error ميده Index was outside the bounds of the array. نمي تونم درستش كنم اگه كمكم كنيد ممنون ميشم
رسم تابع با استفاده از Delegate هست




public partial class Form1 : Form
{

// Delegate/////////
public delegate double Formula(double x);
public Form1()
{
InitializeComponent();
}

//PLOT()////////////
public void Plot(double StartX, double DeltaX, double EndX, Formula F)

{
int j=0;
int k=0;
int s = (int)(EndX / DeltaX);
double[ , ] Array1 = new double[s, s];

for (j = 0; j < s ; j++)
{
for (k = 0; k < s ; k++)
{
double a = StartX;
double Result = F(a);
Array1[j, k] =Convert.ToInt32(Result);
StartX = StartX + DeltaX;
}
}

MessageBox.Show(Array1[j, k].ToString());
}

//SIN(a)///////////
public double Sin(double a)
{
double Result;
Result = Math.Sin(a);
return Result;
}

//COS(a)//////////
public double Cos(double a)
{
double Result;
Result = Math.Cos(a);
return Result;
}

private void button1_Click(object sender, EventArgs e)
{
Plot(0, 0.5, 4, Sin);
}

private void button2_Click(object sender, EventArgs e)
{
Plot(0, 0.5, 4, Cos);
}


}
}

atryad
پنج شنبه 02 مهر 1388, 00:49 صبح
با سلام
فکر کنم اگه یه caption برای message مشخص میکردین error نمی داد

MessageBox.Show(Array1[j, k].ToString(),"Test");