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

نام تاپیک: از برنامه نویسان محترم خواهش میکنم به این سوال من پاسخ بدید

  1. #1

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

    چجوری میشه در c یک عبارت infix را با استفاده از stack یا پشته به post fix تبدیل کرد لطفا من را راهنمایی کنید متشکرم

    ramin_registry@yahoo.com

    ramin_ahmadi@gmail.com

  2. #2
    بنیان گذار Barnamenevis آواتار مهدی کرامتی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    کرج، گلشهر
    سن
    48
    پست
    6,379
    عنوان سوالتان را تصحیح کنید.

  3. #3
    کاربر دائمی آواتار aakh1361
    تاریخ عضویت
    آبان 1383
    محل زندگی
    تهران - سه راه افسریه - شهرک کاروان
    پست
    383
    بیشتر توضیح بده

  4. #4
    سلام
    من قبلا این برنامه رو برای استادمون نوشتم البته به دو صورت نوشتم ببین به دردت میخوره
    #include <ctype.h>
    #include <conio.h>
    #include <stdio.h>
    #include <stdlib.h>
    #define SIZE 21
    class stack
    {
    public :
    stack();
    empty();
    void push(int);
    int pop(void);
    int top() const;
    private:
    int item[SIZE];
    int mytop;
    };
    inline stack :: stack() {mytop = -1;}
    inline stack :: empty() {return mytop = -1;}
    void stack :: push(int x)
    {
    if (mytop == SIZE)
    printf("Stack is full\n");
    else
    item[mytop++] = x;
    }
    int stack :: pop(void)
    {
    if (mytop == -1) {
    printf("Stack is empty\n");
    exit(1);
    return 0;
    }
    return item[--mytop];
    }
    int stack :: top() const { if(mytop >= 0) return item[mytop]; }
    //************************************************** **********
    /*--------------------------------------------------------------------------
    void intopost(const char *infix, char *postfix)
    {
    int st;
    stack s;
    s.push('(');
    while (*infix != '\0') {
    if (isspace(*infix)) {
    ;
    }
    else if (isalpha(*infix)) {
    *postfix++ = *infix;
    }
    else if (*infix == '(') {
    s.push('(');
    }
    else if (*infix == ')') {
    while ((st = s.pop()) != '(')
    *postfix++ = st;
    }
    else if (*infix == '*' || *infix == '/') {
    while (1) {
    if ((st = s.pop()) == '(' || st == '+'
    || st == '-') {
    s.push(st);
    break;
    }
    *postfix++ = st;
    }
    s.push(*infix);
    }
    else if (*infix == '+' || *infix == '-') {
    while (1) {
    if ((st = s.pop()) == '(') {
    s.push(st);
    break;
    }
    *postfix++ = st;
    }
    s.push(*infix);
    }
    else {
    printf("Unknown input character %c\n", *infix);
    }
    ++infix;
    continue;
    }
    while ((st = s.pop()) != '(')
    *postfix++ = st;

    *postfix = '\0';
    }


    به صورتهای دیگه هم می توان نوشت

  5. #5

  6. #6
    سلام
    لطفآ برنامه کلاس تبدیل postfix به infix را برایم میل کنید البته این برنامه باید علاوه بر اعداد با حروف انگلیسیی هم جواب دهد و همچنین عبارت دارای پرانتز من به این برنامه نیاز فوری دارم لطفآ من را راهنمایی کنید23/8/86 متشکرم.

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

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