Từ 1 tới 2 trên tổng số 2 kết quả

Đề tài: Bài toán Balane ngược !!

  1. #1
    Ngày gia nhập
    11 2012
    Bài viết
    0

    Mặc định Bài toán Balane ngược !!

    C++ Code:
    1. #include "stdafx.h"
    2. #include <iostream>
    3. #include <stack>
    4. #include <stdio.h>
    5. using namespace std;
    6. int level ( char i )
    7. {
    8.     int a;
    9.     switch (i)
    10.     {
    11.     case  '*' : case '/' : a =1;
    12.         break;
    13.     case '+' : case '-' : a = 2;
    14.         break;
    15.     }
    16.     return a;
    17. }
    18. int main()
    19. {
    20.     stack <char> s;
    21.     int n;
    22.     char mang2[100];
    23.     char mang[100];
    24.     cout << " nhap cuoi phep toan " ;
    25.     gets (mang);
    26.     n = strlen(mang);
    27.     for ( int i = 0 ; i < n ; i++ )
    28.     {
    29.         int k,a;
    30.         a=0;
    31.         k = int (mang[i]);
    32.         if ( k >= 48 && k <= 122 )
    33.         {
    34.             mang2[i]=mang[i];
    35.         }
    36.         if ((mang[i] = '+') || (mang[i] = '-') || (mang[i] = '*' )||( mang[i] = '/'))
    37.             {
    38.                 if ( s.empty() )
    39.                     s.push(mang[i]);
    40.                 else
    41.                 {
    42.                 if ( level ( mang[i] ) >= level ( s.top()) )
    43.                 {
    44.                     s.push(mang[i]);
    45.                 }
    46.                 if ( level ( mang[i] ) < level ( s.top() ) )
    47.                 {
    48.                     while (!s.empty())
    49.                     {
    50.                         mang2[i+1]=s.top();
    51.                         s.pop();
    52.                     }
    53.                     s.push(mang[i]);
    54.                 }
    55.                 }
    56.             }
    57.         }
    58.         for ( int j = 0 ; j < n ; j++ )
    59.         {
    60.             cout << mang2[j] << " " ;
    61.         }
    62.         system ("pause");
    63.         return 0;
    64. }


    Mọi người tìm giúp mình lỗi của code này nhé ! !!! khi mình chạy thì nó sắp xếp ko đúng chỗ vị trí của các dấu !! khi chuyển từ trung tố sang hậu tố

  2. #2
    Ngày gia nhập
    11 2012
    Bài viết
    0

    ko sư huynh nào giúp em hết ak :((

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn