PDA

View Full Version : تولید یک ماتریس تصادفی در WinApp



amir-yeketaz
پنج شنبه 06 آبان 1389, 19:03 عصر
سلام به دوستان گلم!!
من میخوام یه ماتریس تصادفی تو محیط WinApp طراحی کنم یعنی:
کاربر بیاد تعداد سطر و ستون رو مشخص کنه بعد متناسب با اندازه ی سطر و ستون یه جدول درست بشه و بعد هم کاربر بتونه تو اون جدول سلول ها رو متناسب با میلش پر کنه و بعد همه ی اطلاعات رو بریزم تو یه ماتریس ...

حالا من یه روشهایی تو ذهنم هست ... به نظرتون چیکار کنم که خیلی خوب جواب بده؟؟؟

ممنون ...

MSN_Issue
پنج شنبه 06 آبان 1389, 19:11 عصر
دوست عزیز فکر نمیکنم این سوالت خیلی نکته ی مبهمی داشته باشه !! فقط دوتا for تودرتو میخواد دیگه ...
یا شایدم یه نکته ی خواصی داشته و من توجه نکردم ... :چشمک:

amir-yeketaz
پنج شنبه 06 آبان 1389, 21:16 عصر
دوست عزیز فکر نمیکنم این سوالت خیلی نکته ی مبهمی داشته باشه !! فقط دوتا for تودرتو میخواد دیگه ...
یا شایدم یه نکته ی خواصی داشته و من توجه نکردم ... :چشمک:
نوکرتم بحث سر الگوریتم و اینا نیست که (تو حل سوال هیچ مشکلی نیست!) ... من میخوام این کار با فرم ها و کنترل ها انجام بدم که تو طراحی ماتریس تو اون کنترل موندم(خواهشا سوال ما رو درست بخونید!!)

HH2BN1990
پنج شنبه 06 آبان 1389, 21:19 عصر
سلام به دوستان گلم!!
من میخوام یه ماتریس تصادفی تو محیط WinApp طراحی کنم یعنی:
کاربر بیاد تعداد سطر و ستون رو مشخص کنه بعد متناسب با اندازه ی سطر و ستون یه جدول درست بشه و بعد هم کاربر بتونه تو اون جدول سلول ها رو متناسب با میلش پر کنه و بعد همه ی اطلاعات رو بریزم تو یه ماتریس ...

حالا من یه روشهایی تو ذهنم هست ... به نظرتون چیکار کنم که خیلی خوب جواب بده؟؟؟

ممنون ...

احتمالا شما تو ساخت جدول مشکل دارین چون اینطور که فهمیدم باید در حین اجرا ساخته بشه.
یه چیزی شبیه این عکسی که گذاشتم

amir-yeketaz
پنج شنبه 06 آبان 1389, 21:33 عصر
احتمالا شما تو ساخت جدول مشکل دارین چون اینطور که فهمیدم باید در حین اجرا ساخته بشه.
یه چیزی شبیه این عکسی که گذاشتم
دمت گرم یه چیزی تو همین مایه ها ... فقط اگه تو هدرها ایندکس هم مشخص باشه خیلی خوبه ... یادتون باشه که اینکار باید دینامیک انجام بشه ... یعنی تعداد سطر و ستون جدول بسته به انتخاب کاربر تغییر میکنه ...

اگه یکی این برنامشو بذاره ممنون میشم ...

HH2BN1990
پنج شنبه 06 آبان 1389, 21:49 عصر
دمت گرم یه چیزی تو همین مایه ها ... فقط اگه تو هدرها ایندکس هم مشخص باشه خیلی خوبه ... یادتون باشه که اینکار باید دینامیک انجام بشه ... یعنی تعداد سطر و ستون جدول بسته به انتخاب کاربر تغییر میکنه ...

اگه یکی این برنامشو بذاره ممنون میشم ...
این فکر می کنم به دردت بخوره البته شاید راه های بهتری هم باشه

amir-yeketaz
پنج شنبه 06 آبان 1389, 22:12 عصر
این فکر می کنم به دردت بخوره البته شاید راه های بهتری هم باشه

این که درست کار نمیکنه عزیزم!!! قاطی پاتی میده ...
من خودم این جوری درست کردم ... بهترشو میخوام!!!!!

Salar Ashgi
جمعه 07 آبان 1389, 00:23 صبح
یه مثال ساده :



private void button1_Click(object sender, EventArgs e)
{
string[] data = richTextBox1.Text.Split('\n', ' ');
int[,] a = new int[3, 3];
int f=0;
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
a[i, j] = Convert.ToInt32(data[f++]);
}
}
//===========
string str = "";
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
str += a[i, j].ToString() + " ";
}
str += "\n";
}
MessageBox.Show(str);


}


موفق باشید .

amir-yeketaz
جمعه 07 آبان 1389, 10:13 صبح
یه مثال ساده :



private void button1_Click(object sender, EventArgs e)
{
string[] data = richTextBox1.Text.Split('\n', ' ');
int[,] a = new int[3, 3];
int f=0;
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
a[i, j] = Convert.ToInt32(data[f++]);
}
}
//===========
string str = "";
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
str += a[i, j].ToString() + " ";
}
str += "\n";
}
MessageBox.Show(str);


}
موفق باشید .
ممنون ... ولی فکر کنم روشی که خودم دادم بهتر بود ... این سبکی که شما رفتین اولین چیزی بود که به فکر خودم رسید ... بازم روش شیک تر و بهتری نیست؟

Salar Ashgi
جمعه 07 آبان 1389, 10:52 صبح
میشه در زمان اجرا بر حسب تعداد سطر و ستونها آرایه ای از تکست باکس ها نیز ایجاد نمود ، ولی خوب
انعطاف پذیری این روش کمتر و مدیریتش سختتر میباشد !

amir-yeketaz
جمعه 07 آبان 1389, 11:12 صبح
میشه در زمان اجرا بر حسب تعداد سطر و ستونها آرایه ای از تکست باکس ها نیز ایجاد نمود ، ولی خوب
انعطاف پذیری این روش کمتر و مدیریتش سختتر میباشد !
شما درست می فرمایید ... من همه ی این راه هارو تست کردم و همونی که خودم اینجل ضمیمه کردم بهترین بود تقریبا ...
آقا چجوری میشه برای هر ردیف در دیتاگریدویو هم مثه اسم ستون ها یه نامی انتخاب کرد ...

یعنی هم در ستون و هم در ردیف هدر داشته باشم! شدنیه؟!
البته میشه ستون اولو به این کار تخصیص داد ولی به نظرم اصلا کار اصولی نیست!!!!

ممنون

HH2BN1990
جمعه 07 آبان 1389, 19:08 عصر
آره عزیز راست میگی قاطی بود ولی الان درستش کردم

Salar Ashgi
جمعه 07 آبان 1389, 19:35 عصر
آره عزیز راست میگی قاطی بود ولی الان درستش کردم

واسه پروژه های کاربردی این روش نمیتونه کارساز باشه ؛ فرض کنید جهت انجام یک کار علمی ، نیاز است
دترمینان یا معکوس یک ماتریس 30 × 30 محاسبه شود ، آن وقت در این حالت باید 900 تا TextBox ایجاد نمود ؟!

amir-yeketaz
جمعه 07 آبان 1389, 21:21 عصر
واسه پروژه های کاربردی این روش نمیتونه کارساز باشه ؛ فرض کنید جهت انجام یک کار علمی ، نیاز است
دترمینان یا معکوس یک ماتریس 30 × 30 محاسبه شود ، آن وقت در این حالت باید 900 تا TextBox ایجاد نمود ؟!
آره ... ولی خوب برا خودش یه راه حله دیگه ... از طرحش خوشم اومد :تشویق:

در کل هنوزم فکر میکنم روش خودم هنوز بهترینه :لبخند:
اگه کسی بازم روش دیگه ای داره لطف کنه ...

Salar Ashgi
جمعه 07 آبان 1389, 21:36 عصر
در کل هنوزم فکر میکنم روش خودم هنوز بهترینه

شما چه روشی رو بکار بردید ؟!

amir-yeketaz
جمعه 07 آبان 1389, 22:49 عصر
شما چه روشی رو بکار بردید ؟!
استفاده از دیتاگریدویو ... من که تو پست های قبلی برنامشو ضمیمه کردم!!!

البته میدونم روشم اصولی نیست ولی از این روش تکست باکسی که بهتره و دسترسی بهش خیلی راحتتره ...

HH2BN1990
جمعه 07 آبان 1389, 22:56 عصر
اینم با روش شما درست کردم که فقط ایندکس بهش اضافه شده .
در ضمن گرید ویو هم از تکست باکس ها درست میشه پس مشکلی که سالار جان گفت هم شامل گرید ویو میشه ولی خوب همونجور که گفتی امکاناتش بیشتره و دسترسی به سلول ها راحت تره

amir-yeketaz
شنبه 08 آبان 1389, 00:04 صبح
اینم با روش شما درست کردم که فقط ایندکس بهش اضافه شده .
در ضمن گرید ویو هم از تکست باکس ها درست میشه پس مشکلی که سالار جان گفت هم شامل گرید ویو میشه ولی خوب همونجور که گفتی امکاناتش بیشتره و دسترسی به سلول ها راحت تره
بازم بهتر شد ... کد منو ارتقاء باحالی دادی ... از کارت خیلی خوشم اومد ...
فکر کنم بازم بشه بهترش کرد (بابا عجب کنه ای هستیم ما دیگه:لبخند:)

HH2BN1990
شنبه 08 آبان 1389, 09:03 صبح
ولی زیاد خوشم نیومد چون تعداد سلول ها دو برابر میشه و دسترسی به سلولهایی که داده ها رو دارن سختتره .
بهتره به جای اینکه برای هدرها یه سلول در نظر بگیری از ToolTip استفاده کنی