آخـــر الـــمـــشـــاركــــات

دردشة وتعليله وسواليف.. » آخر مشاركة: عاشق الحصن بريد الاعضاء » آخر مشاركة: محمد العزام اهلا بكم ..رمضان كريم » آخر مشاركة: حسان القضاة شو عم تسمع هلا » آخر مشاركة: حسان القضاة ما هو سبب تواجدك في المنتدى والى اي حدّ يستمر او ينتهي إنتسابك له ؟ » آخر مشاركة: قلعتي أبدية مرحبا » آخر مشاركة: محمد العزام " أميــــرةُ قـوسِ النَّصـــــر" » آخر مشاركة: قلعتي أبدية ~ إبريـــــــــــــــــل ~ » آخر مشاركة: حسان القضاة اسئلة مهمة بالفوتوشوب في المطابع 2019 » آخر مشاركة: المصمم يزن جبريل صاحب المركز الاول فى مجال تنزيل الملفات كامل مدي الحياة IDM 6.32 » آخر مشاركة: siiin همسات وأشوق » آخر مشاركة: حسان القضاة ""أيلـول""... » آخر مشاركة: قلعتي أبدية تبليغ عن رسالة زائر بواسطة راشد مرشد » آخر مشاركة: أميرة قوس النصر اشتقنالكم » آخر مشاركة: Mahmoud Zaben تُراهات ما قبل النوم ... » آخر مشاركة: قلعتي أبدية شو مزاجك اليوم... » آخر مشاركة: قلعتي أبدية قبول بلاغ عطل ثلاجات كلفينيتور 01092279973 & 0235700997 وكيل كلفينيتور (م .الجديدة) » آخر مشاركة: الوكيل1 قبول بلاغ عطل ثلاجات هوفر 01154008110 & 0235699066 وكيل هوفر (م.6اكتوبر) » آخر مشاركة: الوكيل1 قبول بلاغ عطل ثلاجات جنرال اليكتريك 01207619993 & 0235700997 وكيل جنرال اليكتريك (الز » آخر مشاركة: الوكيل1 قبول بلاغ عطل ثلاجات كاندى 0122026130 & 0235682820 وكيل كاندى (الهرم) » آخر مشاركة: الوكيل1
+ الرد على الموضوع
النتائج 1 إلى 6 من 6

الموضوع: مرحبا

  1. #1
    عضو جديد
    تاريخ التسجيل
    Oct 2011
    العمر
    33
    المشاركات
    17

    افتراضي مرحبا

    السلام عليكم ممكن اطلب مساده منكم بدي code unification بلغه c++
    وهل هاد الcod صح ولا لأ؟
    > // generate MGU of terms t1, t2
    > // return 0 if failure (t1, t2 don't unify)
    > //
    > // the simple stacked, abstract algorithm is keep from
    > // 'The Art Of Prolog' by Sterling & Shapiro
    > //
    > int UnifyStack::work(Term t1, stkpos envp1, Term t2, stkpos envp2)
    > {
    > termPair *tp;
    > for ( ; ; )
    > {
    > if (t1.type(f_VAR)) // here be dragons!
    > {
    > if (Var(t1) == ANONYM_IX)
    > goto next;
    > stkpos ix1 = Var(t1) + envp1;
    > if ((t1 = vs->getvar(ix1, &envp1, &ix1)).type(f_NOTERM))
    > {
    > if (t2.type(f_VAR))
    > {
    > if (Var(t2) == ANONYM_IX)
    > goto next;
    > ts->bind(ix1);
    > stkpos ix2 = Var(t2) + envp2;
    > if ((t2 = vs->getvar(ix2, &envp2, &ix2)).type(f_NOTERM))
    > {
    > if (ix1 != ix2)
    > vs->setshare(ix1, ix2);
    > }
    > else
    > vs->setvar(ix1, t2, envp2);
    > }
    > else
    > {
    > ts->bind(ix1);
    > vs->setvar(ix1, t2, envp2);
    > }
    > goto next;
    > }
    > }
    > if (t2.type(f_VAR))
    > {
    > if (Var(t2) == ANONYM_IX)
    > goto next;
    > stkpos ix2 = Var(t2) + envp2;
    > if ((t2 = vs->getvar(ix2, &envp2, &ix2)).type(f_NOTERM)) {
    > ts->bind(ix2);
    > vs->setvar(ix2, t1, envp1);
    > goto next;
    > }
    > }
    > if (!t2.type(t1.type()))
    > return 0;
    > switch (t1.type())
    > {
    > case f_ATOM:
    > case f_INT:
    > if (TermData(t1) != TermData(t2))
    > return 0;
    > break;
    > case f_DOUBLE:
    > if (Double(t1) != Double(t2))
    > return 0;
    > break;
    > case f_STRUCT:
    > {
    > Term *pa1, *pa2;
    > int na1, na2;
    > if (t1.structData(&pa1, &na1) != t2.structData(&pa2, &na2) ||
    > na1 != na2)
    > return 0;
    > for (int i = na1 - 1; i >= 0; i--)
    > {
    > tp = push();
    > tp->t1 = pa1[i];
    > tp->i1 = envp1;
    > tp->t2 = pa2[i];
    > tp->i2 = envp2;
    > }
    > check_overflow();
    > }
    > break;
    > case f_LIST:
    > if (t1.LNULL() && t2.LNULL())
    > goto next;
    > if (!t1.LNULL() && !t2.LNULL())
    > {
    > const List& l1 = t1, &l2 = t2;
    > tp = push();
    > tp->t1 = l1.tail();
    > tp->i1 = envp1;
    > tp->t2 = l2.tail();
    > tp->i2 = envp2;
    > tp = push();
    > tp->t1 = l1.head();
    > tp->i1 = envp1;
    > tp->t2 = l2.head();
    > tp->i2 = envp2;
    > check_overflow();
    > }
    > else
    > return 0;
    > break;
    > case f_SYSDATA:
    > if (!SysDataPtr(t1)->unify(t2))
    > return 0;
    > break;
    > default:
    > ASSERT(0);
    > }
    > next:
    > if (free == 0)
    > return 1;
    > tp = v + --free;
    > t1 = tp->t1;
    > envp1 = tp->i1;
    > t2 = tp->t2;
    > envp2 = tp->i2;
    > }
    > }

  2. #2
    عضو مؤسس الصورة الرمزية Sc®ipt
    تاريخ التسجيل
    Nov 2008
    الدولة
    There's no place like 127.0.0.1
    العمر
    36
    المشاركات
    4,003

    افتراضي رد: مرحبا

    بصراحة الكود مش مفهوم

    بعدين اختي انا لاحظت انك بتستدعي من خلال object بس الكلاس مش موجود عشان نحكم على انه صح او غلط
    يعني بصراحة استفسارك مبهم و غير واضح + الكود مش كامل

  3. #3
    عضو جديد
    تاريخ التسجيل
    Oct 2011
    العمر
    33
    المشاركات
    17

    افتراضي رد: مرحبا

    شكرا الك انا بصراحه عم ادور على كودات من النت وكلهم بيعطي error ولازم بكرا اسلم الكود بدي اغلبك شفلي هاد الكود

    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48



    #include "unify.hh"
    #include <stdio.h>
    #include <string>
    #include <stack>
    #include "../playlist.hh"
    #include "../iosubsys/output.hh"

    void
    Unify::doit( const std::string &s )
    {
    std::stack<Playlist::iterator> stck;
    for (Playlist::iterator it = plist->begin();
    it != plist->end(); it++) {
    Playlist::const_iterator at = it;
    for ( at++; at != plist->end(); at++)
    if (it->filename() == at->filename()) {
    stck.push(it);
    }
    }
    while (!stck.empty()) {
    plist->erase(stck.top());
    stck.pop();
    }
    }
    /*
    map<string,Playlist::const_iterator> cmp;
    for (Playlist::const_iterator it = plist->begin();
    it != plist->end(); it++)
    if (cmp.count(it->filename())>0) {
    printf("removing %s (=%s)\n",it->title().c_str(),cmp[it->filename()]->title().c_str());
    plist->erase(it);
    } else
    cmp[it->filename()]=it;
    }
    */

    void
    Unify::help( const std::string &s ) const
    {
    output->printf("format: unify\n");
    output->printf("description: removes multiple entries in playlist\n");
    }

    void
    Unify::description() const
    {
    output->printf("removes multiple entries in playlist\n");
    }

  4. #4
    عضو مؤسس الصورة الرمزية Sc®ipt
    تاريخ التسجيل
    Nov 2008
    الدولة
    There's no place like 127.0.0.1
    العمر
    36
    المشاركات
    4,003

    افتراضي رد: مرحبا

    اكيد رح يعطي error لأنه في تضمين لملفات مش موجودة و شكلك ما لقيتيها مرفقة مع الكود الي لقيتيه بالنت و الملفات المفقودة هي :


    كود:
    #include "unify.hh"
    #include <stack>
    #include "../playlist.hh"
    #include "../iosubsys/output.hh"

  5. #5
    عضو جديد
    تاريخ التسجيل
    Oct 2011
    العمر
    33
    المشاركات
    17

    افتراضي رد: مرحبا

    شكرا كتير كتيييير اسفه غلبتك

  6. #6
    عضو جديد
    تاريخ التسجيل
    Oct 2011
    العمر
    33
    المشاركات
    17

    افتراضي رد: مرحبا

    بس اخر سؤال انا لئيت هدول وين بدي احطهم
    #ifndef UNIFY_HH
    #define UNIFY_HH UNIFY_HH

    #include "../command.hh"
    #include <string>

    class Unify : public Command {
    public:
    void doit( const std::string &s );
    void help( const std::string &s ) const;
    void description() const;
    };



    #ifndef PLAYLIST_HH
    #define PLAYLIST_HH PLAYLIST_HH

    #include <string>
    #include <vector>
    #include <stdio.h>
    #include "track.hh"

    #define MAXFILENAMELENGTH BUFSIZ

    class Playlist : public std::vector<Track>
    {
    public:
    Playlist();
    void addPath( const std::string &path );
    void addPath( const std::vector<std::string> &path );
    void addPlaylist( std::string filename );
    void addPlaylist( const std::vector<std::string> &filenames );
    void savePlaylist( std::string filename );
    void positiveFilter( const std::string &flt );
    void positiveFilter( const std::vector<std::string> &flt );
    void negativeFilter( const std::string &flt );
    void negativeFilter( const std::vector<std::string> &flt );
    void loadNegativeFilter( const std::string &filename );
    void loadPositiveFilter( const std::string &filename );
    void loadNegativeFilter( const std::vector<std::string> &filenames );
    void loadPositiveFilter( const std::vector<std::string> &filenames );
    void shuffle();
    Track operator++();
    Track operator++( int ) { return ++(*this); }
    Track operator--();
    Track operator--( int ) { return --(*this); }
    Track operator*() const;
    unsigned int pos() const;
    /* position defaults to current track */
    const_iterator ConstIterator( int pos = -1 ) const;
    iterator Iterator( int pos = -1 );
    void jump(int newpos);
    private:
    std::vector<std::string> loadFilterFile( const std::string &filename );
    void addTrack( const std::string &path, const std::string filename );
    void addTrack(FILE* fp);
    int current;
    };

    extern Playlist* plist;

    #endif

+ الرد على الموضوع

معلومات الموضوع

الأعضاء الذين يشاهدون هذا الموضوع

الذين يشاهدون الموضوع الآن: 1 (0 من الأعضاء و 1 زائر)

المواضيع المتشابهه

  1. مرحبا
    بواسطة واثقة الخطى في المنتدى منتدى علم الحاسوب CS
    مشاركات: 1
    آخر مشاركة: 11-10-2011, 04:11 AM
  2. مرحبا
    بواسطة العقبة في المنتدى منتدى الترحيب بالأعضاء الجدد
    مشاركات: 3
    آخر مشاركة: 05-11-2010, 11:59 PM
  3. مرحبا
    بواسطة FO=FO في المنتدى منتدى الترحيب بالأعضاء الجدد
    مشاركات: 7
    آخر مشاركة: 01-04-2010, 11:45 AM
  4. مرحبا
    بواسطة rawan-yafa في المنتدى المنتدى العام
    مشاركات: 8
    آخر مشاركة: 01-28-2008, 06:52 PM
  5. مرحبا
    بواسطة نور الصمادي في المنتدى منتدى الترحيب بالأعضاء الجدد
    مشاركات: 11
    آخر مشاركة: 12-10-2007, 11:20 PM

مواقع النشر (المفضلة)

مواقع النشر (المفضلة)

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •