alinaghiha
سه شنبه 11 تیر 1392, 10:06 صبح
صبح بخیر من یه کلاس برای چند جمله ای ها در سی شارپ 2008 نوشتم
public class cls_ozv
{
private int data;
private int zarib;
private void set_data(int a){data=a;}
private void set_zarib(int b){ zarib=b;}
private int get_zarib(){return(zarib);}
public cls_ozv(){data=0;zarib=0;}
public int get_data(){return(data);}
public void add_data(int a,int b)
{
set_data(a);
set_zarib(b);
}
public string show()
{
if (get_data() > 0)
return ("+" + get_data() + "x^" + get_zarib());
else if (get_data() < 0)
return (get_data() + "x^" + get_zarib());
else
return ("");
}
بعدش اومدم آرایه تعریف کردم
cls_ozv[] a = new cls_ozv[20];
اول نمی شد به آرایه مقدار بدم
a[2].add_data(1, 5);
مجبور شدم این کارو بکنم
cls_ozv test = new cls_ozv();
for (int i = 0; i < 20; i++)
{
a[i] = test;
b[i] = test;
}
test.add_data(1, 5);
a[2] = test;
اما حالا با تغییر یکی از عناصر آرایه این مقدار تو همه آرایه اعمال میشه
یعنی همه آرایه مقدار 1 و 5 رو میگیره
دیونه شدم میشه کمکم کنید
public class cls_ozv
{
private int data;
private int zarib;
private void set_data(int a){data=a;}
private void set_zarib(int b){ zarib=b;}
private int get_zarib(){return(zarib);}
public cls_ozv(){data=0;zarib=0;}
public int get_data(){return(data);}
public void add_data(int a,int b)
{
set_data(a);
set_zarib(b);
}
public string show()
{
if (get_data() > 0)
return ("+" + get_data() + "x^" + get_zarib());
else if (get_data() < 0)
return (get_data() + "x^" + get_zarib());
else
return ("");
}
بعدش اومدم آرایه تعریف کردم
cls_ozv[] a = new cls_ozv[20];
اول نمی شد به آرایه مقدار بدم
a[2].add_data(1, 5);
مجبور شدم این کارو بکنم
cls_ozv test = new cls_ozv();
for (int i = 0; i < 20; i++)
{
a[i] = test;
b[i] = test;
}
test.add_data(1, 5);
a[2] = test;
اما حالا با تغییر یکی از عناصر آرایه این مقدار تو همه آرایه اعمال میشه
یعنی همه آرایه مقدار 1 و 5 رو میگیره
دیونه شدم میشه کمکم کنید