تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 3 از 4 اولاول 1234 آخرآخر
نمايش نتايج 21 به 30 از 32

نام تاپيک: کمک می خوام....یه برنامه به زبان C++

  1. #21
    داره خودمونی میشه momal's Avatar
    تاريخ عضويت
    Mar 2008
    محل سكونت
    ناکجا آباد...
    پست ها
    35

    پيش فرض

    تست نکردم ولی این چیزی که سریع به ذهنم رسید رو میگم
    من بجات بودم این کارو میکردم
    یک هش تعریف میکردم
    بعد کاربر n m رو تعریف میکنه
    بعد یک if ساده و در نهایت ساخته شدن مجموعه
    اگه تکرار منظورت اینه که تو مجموعه رخ نده
    (البته اینی که گفتم تحت پرل هست ، پرل هم جزو زبان های خانواده سی هست)

    من که چیزی نفهمیدم چون پررل اصلا بلد نیستم....
    دیگه دارم خسته می شم از بس رو این موضوع فکر کردم ....

    اونقدر سخته که همه ی کسایی که ادعای برنامه نویس بودن رو داشتن کم آوردن.....
    فکر میکنم به قول استادمون ما ها بهتره بریم کشکمون رو بسابیم
    دیگه نمیدونم چی کار کنم...

  2. #22
    حـــــرفـه ای dogtag's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    مرز غربی تهران بزرگ! ایمیل: goodboy.php@gmail.com اسپم ها: 2,200!!! :دی
    پست ها
    2,277

    پيش فرض

    ببین من تقریباً برای زبون خودم (php) نوشتمش ولی برای تبدیلش به ++c جداً وقت ندارم (شب امتحان فیزیکه!)
    البته هنوز Php ش رو هم تست نکردم ولی ایشالا به زودی بهت می دمش

  3. #23
    حـــــرفـه ای dogtag's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    مرز غربی تهران بزرگ! ایمیل: goodboy.php@gmail.com اسپم ها: 2,200!!! :دی
    پست ها
    2,277

    پيش فرض

    کد رو برات نوشتم
    برو حال کن:

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    برو ببین تو دانشگاه چجوری تحویلت می گیرن
    فقط آخرش به من هم یه آمار بده ببینم چقدر کارم درسته
    Last edited by dogtag; 10-05-2008 at 19:13.

  4. #24
    داره خودمونی میشه momal's Avatar
    تاريخ عضويت
    Mar 2008
    محل سكونت
    ناکجا آباد...
    پست ها
    35

    پيش فرض

    آقا ممنونم از محبتت....
    خیلی زحمت کشیدی با اینکه سرت شلوغه ولی لطف کردی و برام نوشتی.

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

    ببین چند تاشو مشخص کردم.


    Enter n:8
    Enter m:4
    {1, 1, 1, 1} {1, 1, 1, 2} {1, 1, 1, 3} {1, 1, 1, 4} {1, 1, 1, 5} {1, 1, 1, 6} {1
    , 1, 1, 7} {1, 1, 1, 8} {1, 1, 2, 2} {1, 1, 2, 3} {1, 1, 2, 4} {1, 1, 2, 5} {1,
    1, 2, 6} {1, 1, 2, 7} {1, 1, 2, 8} {1, 1, 3, 3} {1, 1, 3, 4} {1, 1, 3, 5} {1, 1,
    3, 6} {1, 1, 3, 7} {1, 1, 3, 8} {1, 1, 4, 4} {1, 1, 4, 5} {1, 1, 4, 6} {1, 1, 4
    , 7} {1, 1, 4, 8} {1, 1, 5, 5} {1, 1, 5, 6} {1, 1, 5, 7} {1, 1, 5, 8} {1, 1, 6,
    6} {1, 1, 6, 7} {1, 1, 6, 8} {1, 1, 7, 7} {1, 1, 7, 8} {1, 1, 8, 8} {1, 2, 2, 2}
    {1, 2, 2, 3} {1, 2, 2, 4} {1, 2, 2, 5} {1, 2, 2, 6} {1, 2, 2, 7} {1, 2, 2, 8} {
    1, 2, 3, 3} {1, 2, 3, 4} {1, 2, 3, 5} {1, 2, 3, 6} {1, 2, 3, 7} {1, 2, 3, 8} {1,
    2, 4, 4} {1, 2, 4, 5} {1, 2, 4, 6} {1, 2, 4, 7} {1, 2, 4, 8} {1, 2, 5, 5} {1, 2
    , 5, 6} {1, 2, 5, 7} {1, 2, 5, 8} {1, 2, 6, 6} {1, 2, 6, 7} {1, 2, 6, 8} {1, 2,
    7, 7} {1, 2, 7, 8} {1, 2, 8, 8} {1, 3, 3, 3} {1, 3, 3, 4} {1, 3, 3, 5} {1, 3, 3,
    6} {1, 3, 3, 7} {1, 3, 3, 8} {1, 3, 4, 4} {1, 3, 4, 5} {1, 3, 4, 6} {1, 3, 4, 7
    } {1, 3, 4, 8} {1, 3, 5, 5} {1, 3, 5, 6} {1, 3, 5, 7} {1, 3, 5, 8} {1, 3, 6, 6}
    {1, 3, 6, 7} {1, 3, 6, 8} {1, 3, 7, 7} {1, 3, 7, 8} {1, 3, 8, 8} {1, 4, 4, 4} {1
    , 4, 4, 5} {1, 4, 4, 6} {1, 4, 4, 7} {1, 4, 4, 8} {1, 4, 5, 5} {1, 4, 5, 6} {1,
    4, 5, 7} {1, 4, 5, 8} {1, 4, 6, 6} {1, 4, 6, 7} {1, 4, 6, 8} {1, 4, 7, 7} {1, 4,
    7, 8} {1, 4, 8, 8} {1, 5, 5, 5} {1, 5, 5, 6} {1, 5, 5, 7} {1, 5, 5, 8} {1, 5, 6
    , 6} {1, 5, 6, 7} {1, 5, 6, 8} {1, 5, 7, 7} {1, 5, 7, 8} {1, 5, 8, 8} {1, 6, 6,
    6} {1, 6, 6, 7} {1, 6, 6, 8} {1, 6, 7, 7} {1, 6, 7, 8} {1, 6, 8, 8} {1, 7, 7, 7}
    {1, 7, 7, 8} {1, 7, 8, 8} {1, 8, 8, 8} {2, 2, 2, 2} {2, 2, 2, 3} {2, 2, 2, 4} {
    2, 2, 2, 5} {2, 2, 2, 6} {2, 2, 2, 7} {2, 2, 2, 8} {2, 2, 3, 3} {2, 2, 3, 4} {2,
    2, 3, 5} {2, 2, 3, 6} {2, 2, 3, 7} {2, 2, 3, 8} {2, 2, 4, 4} {2, 2, 4, 5} {2, 2
    , 4, 6} {2, 2, 4, 7} {2, 2, 4, 8} {2, 2, 5, 5} {2, 2, 5, 6} {2, 2, 5, 7} {2, 2,
    5, 8} {2, 2, 6, 6} {2, 2, 6, 7} {2, 2, 6, 8} {2, 2, 7, 7} {2, 2, 7, 8} {2, 2, 8,
    8} {2, 3, 3, 3} {2, 3, 3, 4} {2, 3, 3, 5} {2, 3, 3, 6} {2, 3, 3, 7} {2, 3, 3, 8
    } {2, 3, 4, 4} {2, 3, 4, 5} {2, 3, 4, 6} {2, 3, 4, 7} {2, 3, 4, 8} {2, 3, 5, 5}
    {2, 3, 5, 6} {2, 3, 5, 7} {2, 3, 5, 8} {2, 3, 6, 6} {2, 3, 6, 7} {2, 3, 6, 8} {2
    , 3, 7, 7} {2, 3, 7, 8} {2, 3, 8, 8} {2, 4, 4, 4} {2, 4, 4, 5} {2, 4, 4, 6} {2,
    4, 4, 7} {2, 4, 4, 8} {2, 4, 5, 5} {2, 4, 5, 6} {2, 4, 5, 7} {2, 4, 5, 8} {2, 4,
    6, 6} {2, 4, 6, 7} {2, 4, 6, 8} {2, 4, 7, 7} {2, 4, 7, 8} {2, 4, 8, 8} {2, 5, 5
    , 5} {2, 5, 5, 6} {2, 5, 5, 7} {2, 5, 5, 8} {2, 5, 6, 6} {2, 5, 6, 7} {2, 5, 6,
    8} {2, 5, 7, 7} {2, 5, 7, 8} {2, 5, 8, 8} {2, 6, 6, 6} {2, 6, 6, 7} {2, 6, 6, 8}
    {2, 6, 7, 7} {2, 6, 7, 8} {2, 6, 8, 8} {2, 7, 7, 7} {2, 7, 7, 8} {2, 7, 8, 8} {
    2, 8, 8, 8} {3, 3, 3, 3} {3, 3, 3, 4} {3, 3, 3, 5} {3, 3, 3, 6} {3, 3, 3, 7} {3,
    3, 3, 8} {3, 3, 4, 4} {3, 3, 4, 5} {3, 3, 4, 6} {3, 3, 4, 7} {3, 3, 4, 8} {3, 3
    , 5, 5} {3, 3, 5, 6} {3, 3, 5, 7} {3, 3, 5, 8} {3, 3, 6, 6} {3, 3, 6, 7} {3, 3,
    6, 8} {3, 3, 7, 7} {3, 3, 7, 8} {3, 3, 8, 8} {3, 4, 4, 4} {3, 4, 4, 5} {3, 4, 4,
    6} {3, 4, 4, 7} {3, 4, 4, 8} {3, 4, 5, 5} {3, 4, 5, 6} {3, 4, 5, 7} {3, 4, 5, 8
    } {3, 4, 6, 6} {3, 4, 6, 7} {3, 4, 6, 8} {3, 4, 7, 7} {3, 4, 7, 8} {3, 4, 8, 8}
    {3, 5, 5, 5} {3, 5, 5, 6} {3, 5, 5, 7} {3, 5, 5, 8} {3, 5, 6, 6} {3, 5, 6, 7} {3
    , 5, 6, 8} {3, 5, 7, 7} {3, 5, 7, 8} {3, 5, 8, 8} {3, 6, 6, 6} {3, 6, 6, 7} {3,
    6, 6, 8} {3, 6, 7, 7} {3, 6, 7, 8} {3, 6, 8, 8} {3, 7, 7, 7} {3, 7, 7, 8} {3, 7,
    8, 8} {3, 8, 8, 8} {4, 4, 4, 4} {4, 4, 4, 5} {4, 4, 4, 6} {4, 4, 4, 7} {4, 4, 4
    , 8} {4, 4, 5, 5} {4, 4, 5, 6} {4, 4, 5, 7} {4, 4, 5, 8} {4, 4, 6, 6} {4, 4, 6,
    7} {4, 4, 6, 8} {4, 4, 7, 7} {4, 4, 7, 8} {4, 4, 8, 8} {4, 5, 5, 5} {4, 5, 5, 6}
    {4, 5, 5, 7} {4, 5, 5, 8} {4, 5, 6, 6} {4, 5, 6, 7} {4, 5, 6, 8} {4, 5, 7, 7} {
    4, 5, 7, 8} {4, 5, 8, 8} {4, 6, 6, 6} {4, 6, 6, 7} {4, 6, 6, 8} {4, 6, 7, 7} {4,
    6, 7, 8} {4, 6, 8, 8} {4, 7, 7, 7} {4, 7, 7, 8} {4, 7, 8, 8} {4, 8, 8, 8} {5, 5
    , 5, 5} {5, 5, 5, 6} {5, 5, 5, 7} {5, 5, 5, 8} {5, 5, 6, 6} {5, 5, 6, 7} {5, 5,
    6, 8} {5, 5, 7, 7} {5, 5, 7, 8} {5, 5, 8, 8} {5, 6, 6, 6} {5, 6, 6, 7} {5, 6, 6,
    8} {5, 6, 7, 7} {5, 6, 7, 8} {5, 6, 8, 8} {5, 7, 7, 7} {5, 7, 7, 8} {5, 7, 8, 8
    } {5, 8, 8, 8} {6, 6, 6, 6} {6, 6, 6, 7} {6, 6, 6, 8} {6, 6, 7, 7} {6, 6, 7, 8}
    {6, 6, 8, 8} {6, 7, 7, 7} {6, 7, 7, 8} {6, 7, 8, 8} {6, 8, 8, 8} {7, 7, 7, 7} {7
    , 7, 7, 8} {7, 7, 8, 8} {7, 8, 8, 8} {8, 8, 8, 8}

  5. #25
    داره خودمونی میشه momal's Avatar
    تاريخ عضويت
    Mar 2008
    محل سكونت
    ناکجا آباد...
    پست ها
    35

    پيش فرض

    ببین میتونی این مشکل رو رفع کنی....

  6. #26
    حـــــرفـه ای dogtag's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    مرز غربی تهران بزرگ! ایمیل: goodboy.php@gmail.com اسپم ها: 2,200!!! :دی
    پست ها
    2,277

    پيش فرض

    یعنی چی؟
    الان هیچ 2 مجموعه ای شبیه هم نیستند

    اینهایی که قرمز کردی چه اشکالی دارند؟

    شاید منظورت انتخاب مجموعه هایی از زیر مجموعه نیست
    منظورت انتخاب فرده؟

    دقیق بگو لطفاً

  7. #27
    حـــــرفـه ای dogtag's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    مرز غربی تهران بزرگ! ایمیل: goodboy.php@gmail.com اسپم ها: 2,200!!! :دی
    پست ها
    2,277

    پيش فرض

    می خوای 1 کاری کن:
    بگو این برنامه به ازای n=4 و m=2 باید دقیقاً چی پس بده؟
    کامل بنویس

  8. #28
    در آغاز فعالیت
    تاريخ عضويت
    Aug 2007
    پست ها
    12

    پيش فرض

    الگوریتمی که خودم کشفش کردم وخیلی باهاش حال می کنم :
    هر مجموعه رو مثل {3و2و1} به صورت دنباله ای از 0 و 1 ها یا بهتر بگم یه عدد باینری در نظر می گیریم. در مرحله اول دنباله برای مجموعه بالا 000 هست. با توجه به وجود هر عدد یک، عضو متناظر با آن در مجموعه را چاپ می کنیم. برای مر حله بعد یک عدد به عدد باینریمون اضافه می کنیم. واضح است که تمام زیر مجموعه ها چاپ خواهند شد. (عدد باینری از 0 تا( 2 به توان n )منهای 1 تغییر می کند...) حالا می تونید یه متد تعریف کنید که تعداد 1 ها رو بشمره تا مجموعه های k عضوی مورد نظرتون رو چاپ کنید.
    این الگوریتم سرعت فوق العاده بالایی داره اما عیبی که داره اینه که نمیشه تحت این الگوریتم تمام زیر مجموعه ها رو به ترتیب تعداد اعضا چاپ کرد اما فکر می کنم سرعت فوق العاده بالاش این عیبش رو می پوشونه.
    البته من پست های بقیه دوستان رو نخوندم، شاید تو اون ها به این الگوریتم اشاره شده باشه... فقط خواستم کمک کرده باشم.
    اینم سورسش که امروز با جاوا نوشتم و به راحتی می تونید به ++c برش گردونید:
    import java.util.Scanner;
    import java.lang.Math ;

    public class Main {
    public static int counter = 0 ;
    public static int Number_of_Ones (String a){
    int result = 0 ;
    for (int i = 0 ; i < a.length() ; i++){
    if (a.charAt(i) == '1'){
    result++ ;
    }
    }
    return result ;
    }
    public static int lastOne (String a){
    int result = -1 ;
    for (int i = a.length() - 1 ; i >=0 && result < 0; i--){
    if (a.charAt(i) == '1')
    result = i ;
    }
    return result ;
    }
    public static String Convert_to_Binary (int Number , int n){
    String Result = "";
    for (int i = 1 ; i <= n ; i++){
    Result = (Number%2) + Result ;
    Number /= 2 ;
    }
    return Result ;
    }
    public static String sum1 (String a , int n){
    String result = "" ;
    counter++ ;
    result = Convert_to_Binary(counter , n) ;
    return result ;
    }
    public static void main(String[] args) {
    Scanner input = new Scanner (System.in) ;
    int n = input.nextInt();
    int s = input.nextInt();
    int m = (int) Math.pow(2, n) ;
    int[]array = new int [n] ;
    String binaries = "" ;
    for (int i = 0 ; i < n ; i++){
    array[i] = i + 1 ;
    binaries += 0 ;
    }
    for (int i = 0 ; i < m ; i++){
    if (Number_of_Ones(binaries) == s){
    System.out.print("{") ;
    for (int j = 0 ; j < n ; j++){
    if (binaries.charAt(j) == '1')
    if (j == lastOne(binaries))
    System.out.print(array[j]) ;
    else
    System.out.print(array[j] + ",") ;
    }
    System.out.println("}") ;
    }
    binaries = sum1(binaries , n) ;
    }
    }

    }
    اینم خروجیش برای n = 8 , k = 4:
    8
    4
    {5,6,7,8} - {4,6,7,8} - {4,5,7,8} - {4,5,6,8} - {4,5,6,7} - {3,6,7,8} - {3,5,7,8} - {3,5,6,8} - {3,5,6,7} - {3,4,7,8} - {3,4,6,8} - {3,4,6,7} - {3,4,5,8} - {3,4,5,7} - {3,4,5,6} - {2,6,7,8} - {2,5,7,8} - {2,5,6,8} - {2,5,6,7} - {2,4,7,8} - {2,4,6,8} - {2,4,6,7} - {2,4,5,8} - {2,4,5,7} - {2,4,5,6} - {2,3,7,8} - {2,3,6,8} - {2,3,6,7} - {2,3,5,8} - {2,3,5,7} - {2,3,5,6} - {2,3,4,8} - {2,3,4,7} - {2,3,4,6} - {2,3,4,5} - {1,6,7,8} - {1,5,7,8} - {1,5,6,8} - {1,5,6,7} - {1,4,7,8} - {1,4,6,8} - {1,4,6,7} - {1,4,5,8} - {1,4,5,7} - {1,4,5,6} - {1,3,7,8} - {1,3,6,8} - {1,3,6,7} - {1,3,5,8} - {1,3,5,7} - {1,3,5,6} - {1,3,4,8} - {1,3,4,7} - {1,3,4,6} - {1,3,4,5} - {1,2,7,8} - {1,2,6,8} - {1,2,6,7} - {1,2,5,8} - {1,2,5,7} - {1,2,5,6} - {1,2,4,8} - {1,2,4,7} - {1,2,4,6} - {1,2,4,5} - {1,2,3,8} - {1,2,3,7} - {1,2,3,6} - {1,2,3,5} - {1,2,3,4} -
    ایرادی که تو سورس بالا هست (و قابل رفع شدن هم هست) اینه که من تو حلقه for آخر، i رو از 0 تا m که برابر 2 به توان n هست تغییر دادم که این ممکن است overflow رو (در ++c) در پی داشته باشه. برای رفع اون می تونید دنباله خودتون رو با دنباله n تایی 1...111 مقایسه کنید و بگید تا زمانی که از این عدد ((2 به توان n )منهای 1) کوچکتر یا مساوی هست به عدد اضافه کن و در ادامه باید اون counter رو هم حذف کنید و به جاش جمع دودویی رو روی آرایه n تایی پیاده کنید. اگر بخواهید خیلی بهینه باشید، آرایه رو هم می تونید boolean تعریف کنید و ... .
    من از String استفاده کردم، چون سریع تر می تونستم کد رو بنویسم. اما استفاده از آرایه پردازش رو خیلی کمتر می کنه...
    همون طوری که می بنید بر خلاف ظاهر پیچیدش، راه حل بسیار ساده ای داشت!
    اگر ترتیب خاصی مد نظرتون نیست، از این الگوریتم استفاده کنید...
    موفق باشید.

  9. #29
    داره خودمونی میشه momal's Avatar
    تاريخ عضويت
    Mar 2008
    محل سكونت
    ناکجا آباد...
    پست ها
    35

    پيش فرض

    یعنی چی؟
    الان هیچ 2 مجموعه ای شبیه هم نیستند

    اینهایی که قرمز کردی چه اشکالی دارند؟

    شاید منظورت انتخاب مجموعه هایی از زیر مجموعه نیست
    منظورت انتخاب فرده؟

    دقیق بگو لطفاً

    دوست عزیز اینها یی که قرمز کردم ایرادش اینه که توشون عدد تکراری وجود داره که البته من چند تاشو قمز کردم خیلی بیشتر از اینها بودن...
    تو مجموعه ها عضو تکراری نباید وجود داشته باشه...
    بذار یه مثال بزنم تا متوجه بشی:

    فکر کن ما یه دیس میوه داریم که توش 2 تا سیب و2 تا پرتقال و3 تا گلابی و 3 تا خیار داریم.
    اگه بخوایم مجموعه میوه های موجود در دیس رو بنویسیم به این صورته :
    {سیب ،پرتقال،گلابی،خیار}
    و نوشتن {سیب،سیب،پرتقال،پرتقال،گل بی،گلابی،گلابی،خیار،خیار خیار،} اشتباه است.


    تو مجموعه هایی که تو خروجی برنامه هست ما {6،7،8،8} رو داریم.این مجموعه در ظاهر 4 عضو داره ولی در اصل 3 عضویه:{6،7،8}...عدد 8 تکراری یک عضو حساب میشه. اینو من نمی گم ،ریاضیات این تعریف رو برای یک مجموعه ارائه کرده.

    و همین مساله است که کارو مشکل کرده....
    ببین می تونی ان مشکل رو رفع کنی.

    و اینکه گفتی برای n=4 ,m=2خروجی باید این باشه:
    12 13 14
    23 24
    34
    امیدوارم متوجه شده باشی...

  10. #30
    داره خودمونی میشه momal's Avatar
    تاريخ عضويت
    Mar 2008
    محل سكونت
    ناکجا آباد...
    پست ها
    35

    پيش فرض

    golden_compass عزیز ممنون که زحمت کشیدی....
    من اصلا با جاوا آشنایی ندارم ولی بذار رو توضیحاتی که دادی فکر کنم ببینم چه جوریه .....

    میتونی خودت زحمت بکشی به C++ تبدیلش کنی؟

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •