سلام
كسي مي تونه درمورد اين برنامه مرا راهنمايي كنه ممنون
برنامه اي بنويسيد كه عبارات محاسباتي را به صورت رشته گرفته و آن را از نظر پرانتز گذاري بررسي كند و اگر از نظر پرانتز گذاري مشكل دارد خطا دهد
Printable View
سلام
كسي مي تونه درمورد اين برنامه مرا راهنمايي كنه ممنون
برنامه اي بنويسيد كه عبارات محاسباتي را به صورت رشته گرفته و آن را از نظر پرانتز گذاري بررسي كند و اگر از نظر پرانتز گذاري مشكل دارد خطا دهد
از اول رشته شروع کن به خوندن کاراکتر ها.دو تا متغر هم در نظر بگیر برای تعداد پرانتزها.هنگام خوندن کاراکترهای رشته اگر به ) برخورد کردی یکی از متغرهای رو اضافه کن و برای اون طرف پرانتز هم اون یکی متغیر رو اضافه کن.بعد با یه شرط مقایسه کن که تعدادشون برابر هست یا نه.نقل قول:
نه این جوری این برنامه برای حالت زیر جواب نادرست میده :نقل قول:
شما باید از اول برین به پرانتز باز که رسیدین یه متغیر رو ++ بکنین و به پرانتز بسته هم که رسیدین -- کنین . هر وقت مقدار متغیر 1- شد پس از نظر پرانتزگذاری صحیح نیست . اگه آخرش صفر شد درسته .کد:(a+b))+(c
درسته.من به این نکته اش توجه نکردم.نقل قول:
سلام
شما باید این برنامه را با استفاده از پشته و کلاس حل کنی
به طوری که اگر اولین پرانتز ورودی ( بود => error
در غیر این صورت به پشته پوش میشه
در طول رشته جلو میرویم اگر به کاراکتر ) => باز هم پوش میشود
اگر ( => از پشته یک ) حذف میکنیم با این شرط که پشته خالی نباشد
اگر در انتها پشته خالی بود=> تعداد پرانتز ها و ترتیب انها درست بوده
موفق باشید
:20: