سلام
كسي مي تونه درمورد اين برنامه مرا راهنمايي كنه ممنون
برنامه اي بنويسيد كه عبارات محاسباتي را به صورت رشته گرفته و آن را از نظر پرانتز گذاري بررسي كند و اگر از نظر پرانتز گذاري مشكل دارد خطا دهد
سلام
كسي مي تونه درمورد اين برنامه مرا راهنمايي كنه ممنون
برنامه اي بنويسيد كه عبارات محاسباتي را به صورت رشته گرفته و آن را از نظر پرانتز گذاري بررسي كند و اگر از نظر پرانتز گذاري مشكل دارد خطا دهد
از اول رشته شروع کن به خوندن کاراکتر ها.دو تا متغر هم در نظر بگیر برای تعداد پرانتزها.هنگام خوندن کاراکترهای رشته اگر به ) برخورد کردی یکی از متغرهای رو اضافه کن و برای اون طرف پرانتز هم اون یکی متغیر رو اضافه کن.بعد با یه شرط مقایسه کن که تعدادشون برابر هست یا نه.
نه این جوری این برنامه برای حالت زیر جواب نادرست میده :
شما باید از اول برین به پرانتز باز که رسیدین یه متغیر رو ++ بکنین و به پرانتز بسته هم که رسیدین -- کنین . هر وقت مقدار متغیر 1- شد پس از نظر پرانتزگذاری صحیح نیست . اگه آخرش صفر شد درسته .کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
درسته.من به این نکته اش توجه نکردم.
سلام
شما باید این برنامه را با استفاده از پشته و کلاس حل کنی
به طوری که اگر اولین پرانتز ورودی ( بود => error
در غیر این صورت به پشته پوش میشه
در طول رشته جلو میرویم اگر به کاراکتر ) => باز هم پوش میشود
اگر ( => از پشته یک ) حذف میکنیم با این شرط که پشته خالی نباشد
اگر در انتها پشته خالی بود=> تعداد پرانتز ها و ترتیب انها درست بوده
موفق باشید
![]()
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)