PDA

View Full Version : کنترل یک مجموعه ماتریس (آرایه 2 بعدی) در یک حلقه



noshingh
شنبه 07 فروردین 1395, 06:42 صبح
با سلام خدمت دوستان گرامی. چند وقتیه به مشکلی خوردم که با جست و جوهای محتلف هم نتونستم حلش کنم . ممنون میشم کمک کنید.

فرض کنیم مثلا 10 تا ماتریس داریم که میخواهیم اینا رو عملیاتی روشون انجام بدیم مثلا هر 10 تا رو عناصرش رو در خروجی چاپ کنیم.
اسامی ماتریس ها مثلا از Matrix1 هست تا Matrix 10 هست
چون از ارایه 2 بعدی استفاده میکنیم پس به ازای هر ماتریس مجبوریم 2 تا حلقه For بنویسیم که یکی روی سطرها و یکی روی ستونها حرکت کنه یعنی در مجموع برای 10 تا ماتریس مجبوریم 20 تا For بنویسیم!
میخواستم ببینم راهی هست که در یک حلقه بشه بصورت اتوماتیک با هربار اجرا برای دفعه ی بعد بشه به ماتریس بعدی رفت؟
مثلا الان مقادیر matrix1 چاپ میشه و در گام بعدی حلقه این matrix1 خودش تبدیل به Matrix2 میشه و عناصر اون چاپ میشه و همینطور الی اخر تا ماتریس دهم.
ایا راهی است بشه این کارو کرد؟ و بطور کلی تو حلقه بصورت اتوماتیک بشه رفت به ماتریس های همنام بعدی؟!

vb8334
شنبه 07 فروردین 1395, 08:31 صبح
سلام دوست عزیز

براحتی میشه این کار رو انجام داد تنها کاری که باید انجام بدین این هستش که آرایه ای از آرایه ها درست کنین. کد رو براتون گذاشتم.




namespace Matris
{


public partial class Form1 : Form
{
int[,] matris1 = new int[2, 2] { { 1, 2 }, { 3, 4 } };
int[,] matris2 = new int[2, 2] { { 3, 5 }, { 9, 7 } };
int[,] matris3 = new int[2, 2] { { 11, 21 }, { 20, 30 } };
int[,] matris4 = new int[2, 2] { { 14, 22 }, { 13, 44 } };
int[,] matris5 = new int[2, 2] { { 1, 2 }, { 68, 98 } };
int[,] matris6 = new int[2, 2] { { 87, 54 }, { 17, 0 } };
int[,] matris7 = new int[2, 2] { { 99, 35 }, { 47, 10 } };
int[,] matris8 = new int[2, 2] { { 23, 41 }, { 61, 16 } };
int[,] matris9 = new int[2, 2] { { 1, 38 }, { 121, 1000 } };
int[,] matris10 = new int[2, 2] { { 560, 202 }, { 101, 2000 } };
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int[][,] lists = new int[][,] { matris1, matris2, matris3, matris4, matris5, matris6, matris7, matris8, matris9, matris10 };


int s = 0;
while (s < 10)
{
var arr = lists[s];


foreach (var lst in lists[s])
{
listBox1.Items.Add(lst);
}


listBox1.Items.Add("=====================");
s++;
}


}//end button






}//end class
}//end namespace