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

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




صفحه 1 از 2 12 آخرآخر
نمايش نتايج 1 به 10 از 12

نام تاپيک: برنامه الگوریتم تبدیل میاوندی به پسوندی.لطفا کمک کنید

  1. #1
    اگه نباشه جاش خالی می مونه
    تاريخ عضويت
    Sep 2007
    پست ها
    330

    پيش فرض برنامه الگوریتم تبدیل میاوندی به پسوندی.لطفا کمک کنید

    سلام دوستان عزیز

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

    خیلی خیلی ممنون میشم

  2. #2
    آخر فروم باز devil_ff2008's Avatar
    تاريخ عضويت
    May 2008
    محل سكونت
    زیر سایه ی دیکتاتور
    پست ها
    1,094

    پيش فرض

    چه جالب
    استاد ما هم این پروژه رو به عنوان نمره اضافی داده
    اگه نوشتم به شما هم میدم

  3. #3
    آخر فروم باز devil_ff2008's Avatar
    تاريخ عضويت
    May 2008
    محل سكونت
    زیر سایه ی دیکتاتور
    پست ها
    1,094

    پيش فرض

    خدمت شما :
    // convert-infix-to-postfix.cpp : Defines the entry point for the console application.
    //

    #include <stdio.h>
    #include <conio.h>

    #define max 30
    typedef struct
    {
    int top;
    char a[max];
    }stack;

    int amalgar(char);
    int isvalid(stack);
    void convert(char,stack*,stack*);

    void clears(stack *s)
    {
    s->top = -1;
    }
    int emptys(stack s)
    {
    if ( s.top == -1)
    return 1;
    return 0;
    }
    int fulls(stack s)
    {
    if ( s.top == max-1 )
    return 1;
    return 0;
    }
    int pushs(stack *s,char x)
    {
    if (fulls(*s))
    {
    printf("\n> stack is full\n");
    getch();
    return 0;
    }
    s->a[++(s->top)] = x;
    return 1;
    }
    int pops(stack *s,char *x)
    {
    if (emptys(*s))
    {
    printf("\n> stack is empty\n");
    getch();
    return 0;
    }
    *x = s->a[(s->top)--];
    return 1;
    }
    void prints(stack s)
    {
    if (s.top == -1)
    return;
    printf("\n( print stack )----------------------------------------------\n> ");
    while (s.top != -1)
    printf("%c",s.a[s.top--]);
    }
    int searchs(stack s,char c,int *index)
    {
    *index =-1;
    if (emptys(s))
    {
    printf("\n> stack is empty\n");
    getch();
    return 0;
    }
    while(!emptys(s))
    if (s.a[s.top] == c)
    {
    *index = s.top;
    return 1;
    }
    return 0;
    }

    int isvalid(stack s)
    {
    int c=0;

    for( ; s.a[s.top]!=-1 ; s.top-- )
    {
    if (s.a[s.top]==')')
    c++;
    else if (s.a[s.top]=='(')
    c--;
    }
    if (c == 0)
    return 1;
    return 0;
    }

    void get(stack *infix,stack *postfix)
    {
    char c,x;
    stack t;
    clears(&t);

    //printf("\n-------------------------");
    printf("\n\n( get infix )-------------------------------------\n");
    //printf("--------------------------------------------------\n");
    printf("\n> enter infix : ");
    while ( (c=getche()) != 13 )
    {
    pushs(infix,c);
    convert(c,postfix,&t);
    }
    //printf("\n--------------------------------------------------");
    while(!emptys(t))
    {
    pops(&t,&x);
    pushs(postfix,x);
    }
    }

    int amalgar(char c)
    {
    switch(c)
    {
    case ')':
    Return 0;
    case '^':
    Return 1;
    case '*':
    Case '/':
    Return 2;
    case '\\':
    Return 3;
    case '+':
    Case '-':
    Return 4;
    }
    }

    void convert(char c,stack *postfix,stack *t)
    {
    char x;
    switch(c)
    {
    case '(':
    Pushs(t,c);
    break;
    case '^':
    Case '*':
    Case '/':
    Case '\\':
    Case '+':
    Case '-':
    If ( amalgar(c) < amalgar(t->a[t->top]) || t->a[t->top] == -1 )
    pushs(t,c);
    else
    {
    pops(t,&x);
    pushs(postfix,x);
    pushs(t,c);
    }
    break;
    case ')':
    While(!emptys(*t))
    {
    pops(t,&x);
    if ( x == '(' )
    break;
    else
    pushs(postfix,x);
    }
    break;
    default:
    Pushs(postfix,c);
    }

    }

    int main()
    {
    stack infix;
    stack postfix;
    while(1)
    {
    clears(&infix);
    clears(&postfix);
    clrscr();
    printf("--------------------------------------------------\n");
    printf("|:: Convert infix to postfix :: Farhad fatemi ::|");
    printf("\n--------------------------------------------------");
    get(&infix,&postfix);

    if (!isvalid(infix))
    printf("\n\n! Ebarat infix not valid \n");
    else
    {
    printf("\n\n> postfix : ");
    for (int i=0;i<=postfix.top;i++)
    printf("%c",postfix.a[i]);
    printf("\n\n--------------------------------------------------\n");
    }
    printf("\n> continu ?(n,enter)");
    if (getch()=='n')
    break;
    }

    return 0;
    }

  4. #4
    آخر فروم باز devil_ff2008's Avatar
    تاريخ عضويت
    May 2008
    محل سكونت
    زیر سایه ی دیکتاتور
    پست ها
    1,094

    پيش فرض

    البته اون یکم بهم ریخت
    برای فایلشو آپلود کردم که قابل فهم تر باشه
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  5. #5
    اگه نباشه جاش خالی می مونه
    تاريخ عضويت
    Sep 2007
    پست ها
    330

    پيش فرض

    خیلی خیلی ممنون devil_ff2008 عزیز . زحمت کشیدی.بازم ممنون راستی من الان برنامه c رو ندارم که ای برنامه رو تستش کنم . اگه احیانا مشکلی داشتم باهاش ، شما هستید !!!؟ یا میتونم پیغام خصوصی بزنم ؟

    راستی شما کدوم دانشگاه هستید . نکنه داخل کلاس ما باشی و ما خبر نداشته باشیم !!! اگه اسم استانی که دانشگاهتون اونجاست رو بگید ممنون میشم
    Last edited by IstaaKon; 25-11-2008 at 17:47.

  6. #6
    آخر فروم باز devil_ff2008's Avatar
    تاريخ عضويت
    May 2008
    محل سكونت
    زیر سایه ی دیکتاتور
    پست ها
    1,094

    پيش فرض

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

  7. #7
    اگه نباشه جاش خالی می مونه
    تاريخ عضويت
    Sep 2007
    پست ها
    330

    پيش فرض

    devil_ff2008 جان این 14 ارور میده !!!

    چیکارش کنم ؟؟؟

  8. #8
    آخر فروم باز devil_ff2008's Avatar
    تاريخ عضويت
    May 2008
    محل سكونت
    زیر سایه ی دیکتاتور
    پست ها
    1,094

    پيش فرض

    این برنامه رو الان تستش کردم اروری نداشت
    شما با چی کامپایل میکنی ؟
    این برنامه رو باید با Turbo C++ 3.0 کامپایل کنی

  9. #9
    اگه نباشه جاش خالی می مونه
    تاريخ عضويت
    Sep 2007
    پست ها
    330

    پيش فرض

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

  10. #10
    آخر فروم باز devil_ff2008's Avatar
    تاريخ عضويت
    May 2008
    محل سكونت
    زیر سایه ی دیکتاتور
    پست ها
    1,094

    پيش فرض

    خواهش میکنم
    قابلی نداشت
    راستی نگفتی کجایی ها
    همکلاسی نیستی ؟

صفحه 1 از 2 12 آخرآخر

Thread Information

Users Browsing this Thread

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

User Tag List

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

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