PDA

View Full Version : سوال: چجوری از استک کاراکتر بکشم بیرون



bhossein
شنبه 27 آبان 1391, 16:38 عصر
می خواستم بدونم چجوری باس از استک کاراکتری را بردارم با کاراکتری که مد نظر دارم مقایسه کنم و سپس سراغ کارکتر بعدی بروم؟

مسعود اقدسی فام
شنبه 27 آبان 1391, 18:14 عصر
سوالتون خیلی کلی و مبهمه. اگه مشکل کد دارید کدتون رو بذارید تا رفع عیب بشه. وگرنه روش کار با پشته کاملا مشخصه.

mahak006
یک شنبه 28 آبان 1391, 01:45 صبح
فکر کنم بره مسئله string counter میخواین . یعنی بره تبدیلات postfix و infix تا در نهایت رشته رو ارزیابی کنید ؟

bhossein
یک شنبه 28 آبان 1391, 13:06 عصر
ممنون که توجه می کنین. برنامه رو نوشتم.

حروف رشته جز a , b نمی تونه چیز دیگه ای باشه



قراره تو برنامه تعداد a و b مقایسه بشه اگر برابر بودند yes و اگر نبودند no خروجی ما باشد
برنامه زیر در هر صورت خروجی no به ما می دهد مشکلش کجاست؟


#include <iostream>
#include <stack>
# include <string.h>
#include <conio.h>
using namespace std;
stack <char> naz;
int main()
{
int a,b,c;
char x,z,y;
cout << "Hello.! please give me the length of your string: " << endl;
cin >>c;
cout << "enter your string now"<< endl;
for (int i=0; i<c;i++)

naz.push(getche());

cout <<endl;
for (int i=0; i<c;i++)
{
x=naz.top();
if(x==a)
(a++);



if(x==b)
(b++);
naz.pop();
}
if (a==b)
cout<<"yes"<<endl;
else if (a!=b)
cout <<"no"<<endl;
return 0;
}

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

مسعود اقدسی فام
یک شنبه 28 آبان 1391, 16:39 عصر
a و b رو مقدار دهی اولیه با صفر بکن. a = 0 و b = 0 قبل از اینکه شمارش رو شروع کنی.

vistacali
یک شنبه 28 آبان 1391, 16:48 عصر
کد رو بین تگ c++قرار بده تا بشه لااقل خوندش اره دوستمون درست گفته a,b رو صفر کنی جواب میده

bhossein
دوشنبه 29 آبان 1391, 13:21 عصر
مرسی گرفتم چی شد.