نمایش نتایج 1 تا 14 از 14

نام تاپیک: یافتن تمام حالات بدون تکرار

  1. #1
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    304

    یافتن تمام حالات بدون تکرار

    من تعدادی کاراکتر رو از کاربر می گیریم حالا می خوام تمام حالات این چند کاراکتر رو برگردونم البته بدون تکرار.
    مثلا اگه A,B,C رو وارد کرد حالات ممکن بدون تکرار به این صورت هستش
    A
    AB
    AC
    B
    BC
    ABC
    حالت های تکرار اینه که مثلا AC=CA و اگه یک کدوم از اینها بود دیگه بعدی رو نیاره.

  2. #2
    کاربر دائمی
    تاریخ عضویت
    آبان 1386
    محل زندگی
    تهران
    پست
    159
    7 تا حالته نه 6 تا
    c هم یه حالت دیگه است.
    بیشتر مربوط به پاسکال می شه تا دلفی

  3. #3
    یافتن تمام حالات بدون تکرار
    سوال بیشتر به بخش الگوریتم ها مربوط میشه تا به یک زبان برنامه نویسی خاص. اگر الگوریتمش را داشتید و می خواستید با دلفی پیاده سازی کنید، اونوقت به دلفی مربوط میشد.

    بیشتر مربوط به پاسکال می شه تا دلفی
    یعنی همچین برنامه ایی توی دلفی جایگاه نداره؟! بگذریم...

    کاربران می تونند توی بخش دلفی سوالات پاسکال هم مطرح کنند.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  4. #4
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    مهر 1386
    محل زندگی
    Cave
    پست
    550
    این سوالا خیلی جالبه و علمی هستن دقیقا من تاکید میکنم اونجا بزاریدش و منتقلش کنید لطفا.
    مرتبط : https://barnamenevis.org/showth...ht=permutation
    آخرین ویرایش به وسیله Cave_Man : سه شنبه 20 فروردین 1387 در 16:36 عصر دلیل: اضافه کردن مرتبط :D

  5. #5
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    304

    پاسخ

    دوست عزیز حالا 6 یا 7 چه فرقی میکنه بله حق با شماست C هم جز آونهاست/
    لطفا راهنمایی کنید که چطور میشه این الگوریتم رو طراحی کرد از اینکه اینجامطرح شد چون من دارم تو دلفی کد رو می نویسم و گیر افتادم.

  6. #6
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    مهر 1386
    محل زندگی
    Cave
    پست
    550
    الگوریتم با کد اون الگوریتم فرق میکنه
    اگه الگوریتم رو بدست اوردید بعدش باید شروع به کدنویسی کنید.لطفا الگوریتیمی که توی پیاده سازیش مشکل دارید اینجا بزارید.
    با انگلیسی یا سودوکد الگوریتم رو بنویسید و بزارید اینجا. فارسی هم قبوله.

  7. #7
    کاربر دائمی
    تاریخ عضویت
    آبان 1386
    محل زندگی
    تهران
    پست
    159
    برای الگوریتم میتونم یه کمکی بکنم.
    قدم اول پیدا کردن تعداده که میتونی از فرمول زیر استفاده کنی:

    n: number of characters
    s = n!/1!*(n-1)! + n!/(2!*(n-2)!)+ ...+n!/(n!*1!)

    به ترتیب کارکتر های با طول 1 تا n

    حالا دو آرایه به طول n و s تعریف کن با یه حلقه میتونی جواب رو تو آرایه دوم ذخیره کنی
    الان کدش به ذهنم نمی رسه ولی اصولش اینه
    کاراکتر 1 تا n رو ذخیره کن --------> رشته با طول یک
    کاراکتر1 رو با کاراکتر های 2 تا n رو کنار هم بذار، کاراکتر 2 رو با کاراکتر های 3 تا n رو کنار هم بذار، ......، کاراکتر n-1 رو با کاراکتر n رو کنار هم بذار ---------> رشته با طول دو
    .
    .
    .
    .
    n کاراکتر رو کنار هم بذار ----------> رشته با طول n

  8. #8
    کاربر دائمی آواتار gbg
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    تهران
    سن
    46
    پست
    691

    نقل قول: یافتن تمام حالات بدون تکرار

    میدونم خیلی قدیمی هست تاپیک
    ولی یکی لطف کنه فرمول رو برای n-1 هم بگه که نکته کلیدی اینجا خوابیده

  9. #9
    کاربر دائمی آواتار Ananas
    تاریخ عضویت
    آبان 1390
    محل زندگی
    طول 50 و عرض 34 درجه
    سن
    36
    پست
    894

    نقل قول: یافتن تمام حالات بدون تکرار

    فرمولش رو دستی برای هر عددی جدا بنویسیم بهتره چون مثلا اگه n باشه 10 اونوقت 10 فاکتوریل میشه : 3628800 یعنی 3628800 حالت از ترکیب های مختلف. پس نهایتا 10 تا فرمول نیاز باشه بنویسیم.
    اصلا شما حساب کن با 32 تا بیت که هر کدوم 2 تا حالت می گیرن چند تا عدد میشه ساخت!

  10. #10
    کاربر دائمی آواتار gbg
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    تهران
    سن
    46
    پست
    691

    نقل قول: یافتن تمام حالات بدون تکرار

    منظورم محاسبه قرار گیری بود
    فرول دوستمون برای رشته با طول یک و رشته با طول دو درسته
    ولی بقیش رو نگفته

  11. #11
    کاربر دائمی آواتار Ananas
    تاریخ عضویت
    آبان 1390
    محل زندگی
    طول 50 و عرض 34 درجه
    سن
    36
    پست
    894

    نقل قول: یافتن تمام حالات بدون تکرار

    یه راهی به نظرم میاد که یکم پیچیدس حوصله ندارم بنویسم. از این قراره:
    یک تابع داشته باشی که یک آرایه میگیره و تو یک حلقه عضو اول اون رو به ترتیب عوض میکنه و تو هر چرخه هم بعد از عوض کردن عدد اول آرایه، خودش رو فراخونی کنه ولی از شروع آرایه + 1 (هر دفعه مجموعه 1 واحد کوچکتر میشه تا آخر برسه به یک عضو) البته نتیجه هم باید در جایی نوشته بشه و وقتی حالت های مختلف درست میشن که این تابع رسیده باشه به آخر آرایه. یعنی خودش رو اونقدر فراخونی کنه که برسه به انتهای آرایه. راستی یک آرایه ی دیگه هم باید همزمان به عنوان ورودی براش بفرستی که در هر مرحله عدد های تکراری رو حذف کرده باشی (عدد هایی که تو ابتدای لیست ازشون استفاده کردی). نمی دونم جواب میده یا نه فقط یک ایده هست.

  12. #12
    کاربر دائمی آواتار Ananas
    تاریخ عضویت
    آبان 1390
    محل زندگی
    طول 50 و عرض 34 درجه
    سن
    36
    پست
    894

    نقل قول: یافتن تمام حالات بدون تکرار

    فرمول جایگشت های n شی :
    http://irancplusplus.blogspot.com/2010/07/n.html
    به C++‎‎ هست.

  13. #13

    نقل قول: یافتن تمام حالات بدون تکرار

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

  14. #14

    نقل قول: یافتن تمام حالات بدون تکرار

    سلام.
    در اینجا تابعی نوشتم که اساس اون همین کاریه که شما لازم دارید:
    https://barnamenevis.org/showthread.p...ght=bruteforce

    باید طبق خروجی خودتون بهش ورودی بدید.
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •