PDA

View Full Version : سوال: سوال در مورد چگونگی نمایش یک ماتریس



DumanNazeri
شنبه 23 فروردین 1393, 12:39 عصر
سلام علیکم.
وقت بخیر.
خسته نباشید.
من تازه شروع به برنامه‌نویسی با سی‌شارپ کردم..
این برنامه‌ای هست که من نوشتم..


using System;


class Mat04 {
static void Main () {
int t;
t = int.Parse (Console.ReadLine ());


if (t == 1)
GetMat ();
}




static void GetMat() {
int i, j;
int isize, jsize;


Console.WriteLine ("Please Enter Number of Rows : ");
isize = int.Parse (Console.ReadLine());


Console.WriteLine ("Please Enter Number of Columns : ");
jsize = int.Parse (Console.ReadLine());


int[,] matrix = new int[isize, jsize];


for (i = 0 ; i < isize ; i++) {
for (j = 0; j < jsize; j++) {
Console.WriteLine ("Matrix [ " + i + "," + j + " ] : ");
matrix [i, j] = int.Parse (Console.ReadLine ());
}
}
}
}


همون طور که ملاحظه می‌کنید من متد GetMat() رو نوشتم تا کاربر با وارد کردن عدد ۱ بتونه ماترس رو وارد کنه!
حالا سوالم اینه که چطوری میتونم متدی مثل ShowMat() بنویسم که مثلن وقتی کاربر عدد ۲ رو میزنه٬ ماتریسی که در متد GetMat() وارد کرده رو نمایش بده..
ممنون می‌شم اگر راهنمایی‌م کنید مثل همیشه.
مرسی..

behzadkhan
شنبه 23 فروردین 1393, 12:54 عصر
با سلام

ببین کارتو راه میندازه:

==================================


using System;


class Mat04
{
static int isize, jsize;
static int[,] matrix;
static void Main()
{
int t;
do
{
Console.Clear();
Console.WriteLine("1.Get Matrix.");
Console.WriteLine("2.Show Matrix.");
Console.WriteLine("3.Exit.");
Console.Write("Select : ");
t = int.Parse(Console.ReadLine());


if (t == 1)
GetMat();


if (t == 2)
ShowMat();


Console.ReadKey();
} while (t != 3);
}


static void GetMat()
{
int i, j;

Console.WriteLine("Please Enter Number of Rows : ");
isize = int.Parse(Console.ReadLine());


Console.WriteLine("Please Enter Number of Columns : ");
jsize = int.Parse(Console.ReadLine());


matrix = new int[isize, jsize];


for (i = 0; i < isize; i++)
{
for (j = 0; j < jsize; j++)
{
Console.WriteLine("Matrix [ " + i + "," + j + " ] : ");
matrix[i, j] = int.Parse(Console.ReadLine());
}
}
}


static void ShowMat()
{
int i, j;

for (i = 0; i < isize; i++)
{
for (j = 0; j < jsize; j++)
{
Console.WriteLine("Matrix [ " + i + "," + j + " ] = {0} ",matrix[i,j]);
}
}
}
}





با تشکر

DumanNazeri
یک شنبه 24 فروردین 1393, 13:41 عصر
سلام مجدد.
این کد مشکل من رو حل کرد.. فقط سوالی که مطرح شد برای من اینه که چطور می‌شه کاری کرد که اگر کاربر اشتباهی یا عمدا عدد 2 رو اول وارد کرد ( یعنی بدون اینکه ماتریسی وجود داشته باشه! Show Matrix رو بزنه.. ) یک مقدار اولیه به عنوان مثال 0 نمایش داده شود؟؟؟
مرسی.

behzadkhan
یک شنبه 24 فروردین 1393, 14:48 عصر
با سلام

یک شرط بزار که اگر isize یا jsize کوچکتر از صف بود یک پیغام خطا چاپ کند در غیر این صورت ShowMat را نمایش دهد.

با تشکر