PDA

View Full Version : سوال: and , or دو ماتریس



ateryad
سه شنبه 12 دی 1391, 00:21 صبح
با سلام دوستان عزیز
دارم برنامه ای می نویسم که مربوط به and و or دو ماتریس هست و ذخیره اون در یک ماتریس دیگه
دوستان می تونن در نوشتن به بنده کمی مشاوره بدهند ممنون میشم...!!!

ordebehesht
سه شنبه 12 دی 1391, 01:14 صبح
تا جایی که من میدونم and یعنی ضرب or یعنی جمع حالا با استفاده از آراییه و حلقه برنامتو بنویس نمیدونم تونستم مفهوم حرفمو برسونم یا نا امیدوارم مفید بودم

the king
سه شنبه 12 دی 1391, 05:04 صبح
با سلام دوستان عزیز
دارم برنامه ای می نویسم که مربوط به and و or دو ماتریس هست و ذخیره اون در یک ماتریس دیگه
دوستان می تونن در نوشتن به بنده کمی مشاوره بدهند ممنون میشم...!!!

دو ماتریس 4 در 4 داریم :

int[,] matrix1 = new int[4, 4];
int[,] matrix2 = new int[4, 4];


و دو ماتریس دیگه برای نتیجه نگهداری عملیات And و Or تعریف می کنیم :

int[,] matrixAnd = new int[4, 4];
int[,] matrixOr = new int[4, 4];


دو حلقه تو در تو می سازیم تا تمامی مولفه های این دو ماتریس را ...


for (int i = 0; i < matrix1.GetLength(0); i++)
{
for (int j = 0; j < matrix1.GetLength(1); j++)
{


And و Or کند و در ماتریس مربوطه بنویسد :

matrixAnd[i, j] = (matrix1[i, j] & matrix2[i, j]);
matrixOr[i, j] = (matrix1[i, j] | matrix2[i, j]);
}
}

ateryad
سه شنبه 12 دی 1391, 21:22 عصر
سلامی دوباره
دوستان چطور میشه یک آرایه رو عمومی کرد.
من اینطور عمل کردم ولی نشد که این خط کد را بیرون یک کلاس نوشتم ولی جواب نداد

public int[,] array3 = new int[xs, xs];

ordebehesht
سه شنبه 12 دی 1391, 21:37 عصر
فکر کنم public رو باید اول بنویسی بعد آرایته رو

ateryad
سه شنبه 12 دی 1391, 22:21 عصر
با سلام
مشکل آرایه عمومی حل شد ولی
من اینطور کدم رو نوشتم ولی and , or باز جواب نمیده


if (radioButton1.Checked == true)
{
textBox1.Clear();
for (i = 0; i < xs; i++)
{
for (j = 0; j < xs; j++)
{
array3[i, j] = (array1[i, j] & array2[i, j]);
label1.Text += array3[i, j];
}
label1.Text += "\r";
}
}
else if (radioButton2.Checked == true)
{
textBox1.Clear();
for (i = 0; i < xs; i++)
{
for (j = 0; j < xs; j++)
{
array4[i, j] = (array1[i, j] | array2[i, j]);
label1.Text += array4[i, j];
}
label1.Text += "\r";
}
}

the king
چهارشنبه 13 دی 1391, 07:23 صبح
سلامی دوباره
دوستان چطور میشه یک آرایه رو عمومی کرد.
من اینطور عمل کردم ولی نشد که این خط کد را بیرون یک کلاس نوشتم ولی جواب نداد

public int[,] array3 = new int[xs, xs];

در زبان #C متغیر public به اون مفهومی که خارج از کد کلاس بصورت سراسری تعریف بشه نیست.
متغیر تون رو ابتدای کلاس فرم تعریف کنید، نه بیرون کلاس. نیازی نیست که public باشه، چون
کدی که دارید می نویسید داخل کلاس فرم ئه.
مشخصه label1.Text یک رشته string ئه، نه متغیر عددی، نمی تونه با [array3[i, j که یک int است جمع بشه.
برای جمع کردن مقادیر از یک متغیر int دیگه استفاده کنید و نتیجه رو بصورت ()ToString. داخل label1.Text قرار دهید.

ateryad
چهارشنبه 13 دی 1391, 10:18 صبح
ممنون دوستان عزیز
مشکل حل شد.
برنامه فقط همین چند خط که گذاشتم نبود، برای همین به 2 آرایه عمومی نیاز داشتم.
من هم چون label1.Text یک رشته string هست از اون استفاده کردم. نیازی ندارم تا مقدار label1 با چیزی جمع بشه ، فقط به رشته label یک رشته دیگه اضافه کردم.