PDA

View Full Version : نمایش رشدیک تابع به صورت گرافیکی



اتوسا
جمعه 11 آبان 1386, 19:17 عصر
برای یک تابع سورت مثل quicksort که با یه ترد شروعبه کارمیکنه چه طور رشد تابع درحین سورت را به صورت گرافیکی نشون بدم مثل همین نواری که پایین صفحه اینترنت موقع لود صفحه پر میشه.ممنون:لبخند:

Amir Oveisi
شنبه 12 آبان 1386, 11:39 صبح
باید بدونی که کی شروع به کار میکنه و چقدر مونده برسه به آخر کار
اگه بتونی اینارو داشته باشی میتونی با یه progressBar اینکارو انجام بدی

اتوسا
شنبه 12 آبان 1386, 22:35 عصر
متوجه نشدم .بیشتر توضیح بدید لطفا

اَرژنگ
یک شنبه 13 آبان 1386, 01:41 صبح
همیشه اول باید مسئله را ساده کنید، برایه همین فقط به یک قسمت خاصش توجه کنید:

اینکه یک گرافیک داشته باشید که نشان بده چقدر مانده کار تمام بشه مهم نیست، اول باید ۲ چیز را بدانید
۱) کل کار چقدر طول میکشه؟ یعنی اینکه چند بار باید این سورت انجام بشه که هم چی سور شده باشه
۲) بعد از اینکه سورت شروع شد، در چندمین مرحله سورت هستش.

اگر این ۲ را داشته باشید دیگر فرق نمیکنه که به سورت گرافیک نمایششان بدید و یا عدد و یا هر نحوه‌ای، اصل کار بدست آوردن این ۲ عدد هست.

من یک سوال دارم کسی میدونه بدونه انجام دادن یک کویک سورت میشه بدست آورد که چند بار باید انجام بشه؟ (البته با داده خاصی!)

مشکل اصلی شما ربطی به گرافیک نشان دادن نداره، اگر بتوانید که حساب کنید یک سورت چند بار قراره برایه آرایه اجرا بشه ٪۹۹٫۹ مشکلتان حل شده.

ARA
یک شنبه 13 آبان 1386, 09:24 صبح
به نظر من میتونه بدین ترین حالت quick sort یا حالت بینابین رو در نظر بگیره
و برای اون کد بنویسه

اَرژنگ
یک شنبه 13 آبان 1386, 10:54 صبح
به نظر من میتونه بدین ترین حالت quick sort یا حالت بینابین رو در نظر بگیره
و برای اون کد بنویسه
اولین فکری هم به که نظر من آمد همین بود ولی اگر یکمی روش فکر کنید میبیند که این جواب اصلا به جواب سوالی که پرسیده شده بود ربطی نداره.

ARA
یک شنبه 13 آبان 1386, 12:46 عصر
راست میگین شما

ولی من فرضم این بود که برنامه سورت رو هم خودشون بنویسند و برای هرچند مرحله یک event برای update کردن progress بار بگذارند


به نظر شما این عملی نیست

Mshafiy
یک شنبه 13 آبان 1386, 12:53 عصر
سلام دقیقا توی مثال هی دلفی هست:\Program Files\Borland\Delphi6\Demos\Threads

ARA
یک شنبه 13 آبان 1386, 13:20 عصر
سلام دقیقا توی مثال هی دلفی هست:\Program Files\Borland\Delphi6\Demos\Threads

دوستان کسی دلفی داره این مثال رو بگذاره اینجا یا یکی بگه از کدوم روش استفاده شده :متفکر:

اَرژنگ
یک شنبه 13 آبان 1386, 15:11 عصر
سلام دقیقا توی مثال هی دلفی هست:\Program Files\Borland\Delphi6\Demos\Threads
مثال دلفی ربطی به این چیزی که پرسیدند نداره.
کجایه اون مثال دلفی یک پروگرس‌بار داره که نشان بده چقدر مانده تمام بشه؟
مثال دلفی فقط کویک سورت را به صورت گرافیکی هنگام اجرا نشان میده ، اینکه چقدر انجام داده و چچقدر مانده تمام بشه را نداره.

اتوسا
دوشنبه 14 آبان 1386, 16:43 عصر
دوستان لطفا یه کمک مفید بدید .من واقعا لنگم.تو برنامه باید سه تا سورت رو با هم مقایسه کنم با استفاده از این نوار پیشرفت .
چه طور اپدیتش کنم .کی اپدیتش کنم. اصلا کجا صداش بزنم .ازمتد اپدیتش استفاده کنم ویا چیز دیگه ای ....

اَرژنگ
دوشنبه 14 آبان 1386, 17:14 عصر
مگر اینکه قبل از اینکه نشان بدید داره کار میکنه بدست بیارید که چند بار باید سورت کند و بعدش یکبار دیگر با همان داده‌ها اجراش کنید و از نوار پیشرفت استفاده کنید.
آیا شما مطمعنید که سورت مسئله همین نوار پیشرفت را میخواهد؟
بدونه نوار پیسرفت مثال دلفی هستش و شاید مثالات دیگر هم پیدا بشه، ولی اگر حتما نوار پیشرفت باید داشته باشد شاید یک سری اطلاعاتی دیگر هم هستش که شما بیان نکردید.
داده‌ها ثابتند؟ منظورم این است که اگر قرار نیست همینطوری یکمقداری از داه‌هایه رندم استفاده نشه میشه یک کارییش کرد. ولی با داده‌هایه رندم نمیبینم بدانه اجرایه برنامه چچه جوری میشه فهمید که چند مرحله قراره اجرا بشه.

اتوسا
دوشنبه 14 آبان 1386, 17:45 عصر
برای خواستن که می خواد .حالا شاید با یه پیغامم بشه سرهمش کرد .که مثلا بگه سورت تموم شد.
برای این برنامه ممکنه بگید این روش درسته یا نه :
سه تا ترد تعریف میکنیم وبعد با سه تابعی که داریم استارتش میکنیم .بعد وقتی که مثلا تابه megre sort تموم شد یه پیغام بده .یه چیز دیگه ,چرا از System.Threading وقتی که توی فرم مینویسم ایراد میگیره ولی توی محیط کنسولی نه. واگه ممکنه اگه الگوریتم های merge sort وquick sort به زبانc# دارید بذارید ممنونم