پیاده سازی ساختمان دادهی پشته (++C) classای به نام Stack تعریف شده است :این class به صورت template پیادهسازی شده است.توابع سازندهی کپی و مخرب پیادهسازی شده اند.علاوه بر سازندهی کپی؛ سازندهای تعریفشده است که هیچ ورودی نمیگیرد و یک پشته با اندازهی صفر ایجاد میکند.توابع زیر برای این class پیاده سازی شده اند:push: یک داده گرفته و در پشته ذخیره میکند.pop: داده را از پشته خارج و بازمیگرداند.top: دادهی بالای پشته را بازمیگرداند اما از پشته خارج نمیکند.size: تعداد دادههای ذخیره در پشته را بازمیگرداند.محاسبهی عبارت پسوندی:با استفاده از پشتهای که تعریف شده است؛ تابعی به نام postfix تعریف شده است. این تابع یک ورودی رشته (* char) با قالببندی «لهستانی معکوس» میگیرد و حاصل آن را بازمیگرداند. عملگرها و عملوندها (اعداد) با نویسهی فاصله از یکدیگر جدا شدهاند.عملگرها شامل جمع، تفریق، ضرب، تقسیم و توان میباشند. اعداد به صورت اعشاری میباشند.
سورس محاسبهی عبارات چندجملهای با استفاده از ساختمان دادهی آرایه (++C) classای به نام Polynomial برای تعریف عبارات چندجملهای پیاده سازی شده است:علاوه بر سازندهی کپی؛ سازندهای برای این class تعریف شده است که ورودی آن یک رشته (* char) میباشد. رشتهی ورودی یک عبارت چند جملهای میباشد.(قالب بندی عبارات چند جملهای در ادامه آمده است.)تابعی به نام str تعریف شده است. این تابع ورودی نمیگیرد و خروجی آن از نوع رشته (* char) است که چند جملهای خود شئ را بازمیگرداند.تابعی به نام val تعریف شده است. ورودی این تابع یک مقدار float خواهد بود. تابع مقدار دریافتی را در عبارت چندجملهای به جای متغییر x قرار داده و حاصل را به صورت یک مقدار float بازمیگرداند.برای این class عملگرهای زیر را سربارگزاری (overload)شده است:عملگر +: خروجی آن یک Polynomial میباشد که حاصل جمع دیگر Polynomialها است.عملگر -: مشابه عملگر +عملگر *: مشابه عملگر + با این تفاوت که خروجی آن حاصل جمع دیگر Polinomialها است. خروجی باید به سادهترین صورت باشد.عملگر /: چندجملهای را بر یک عدد (float) تقسیم میکند.
پیاده سازی ساختمان دادهی آرایه(++C) ساختمان دادهی آرایه را به صورت زیر پیادهسازی شده است:classای به نام Array تعریف شده است.این class به صورت template پیاده سازی شده است (بدون تغییر در پیادهسازی class بتوان نوع دادههای مختلف را در آن تعریف کرد)دو سازنده برای این class تعریف شده است. یکی ورودی آن تعداد خانههای اولیه برای آرایه و دومی سازندهی کپی.برای این class تابع مخرب تعریف شده است.class شامل توابع زیرمی باشد:append: دادهای را از ورودی گرفته و به انتهای آرایه اضافه می کند.extend: دو نسخه از این تابع موجودمی باشد: یکی آرایهای از نوع دادههای class و یکی اشارهگر به شئای از نوع Array.این تابع ورودی خود را به انتهای دادهها اضافه میکند.عملگر [] برای class تعریف شده است و دادهی ذخیره شده در اندیس ورودی را باز می گرداند. اندیس ورودی میتواند منفی باشد. در این صورت اندیس از آخر آرایه حساب میشود. این تابع در برابر اندیس خارج از محدوده پیام خطا چاپ می کند. برای مثال اگر آرایه ۴ خانه داشته باشد؛ اندیس ۴ و بیشتر و اندیس ۵- و کمتر ایجا خطا می کند.دادهی بازگشتی قابلیت مقدار دهی دارد.
برنامه های مثلثی 1.برنامه ای بنویسید که تعیین کد 3 عدد وارد شده توسط کاربر تشکیل مثلث می دهند یا خیر؟2. برنامه ای بنویسید که تعیین کد 3 عدد وارد شده توسط کاربر تشکیل مثلث قلئم الزاویه می دهند یا خیر؟3. برنامه ای بنویسید که تعیین کد 3 عدد وارد شده توسط کاربر تشکیل مثلث متساوی الاضلاع می دهند یا خیر؟4.برنامه ای بنویسید که تعیین کد 3 عدد وارد شده توسط کاربر تشکیل مثلث متساوی الساقین می دهند یا خیر؟5.برنامه ای بنویسید که عدد n را از کاربر بگیرد و برای مثال برای n=4 مثلث زیر را چاپ کند.* *********6.برنامه ای بنویسید که عدد n را از کاربر بگیرد و برای مثال برای n=4 مثلث زیر را چاپ کند. **********7.برنامه ای بنویسید که عدد n را از کاربر بگیرد و برای مثال برای n=4 مثلث زیر را چاپ کند. * ** *******8.برنامه ای بنویسید که عدد n را از کاربر بگیرد و برای مثال برای n=4 مثلث زیر را چاپ کند. **** *** ** *9.برنامه ای بنویسید که عدد n را از کاربر بگیرد و برای مثال برای n=4 شکل زیر را چاپ کند. ****************10.برنامه ای بنویسید که عدد n را از کاربر بگیرد و برای مثال برای n=4 لوزی زیر را چاپ کند.*************************
دانلود سورس پیاده سازی صف اولویتدار با لیست پیوندی به زبان سی پلاس پلاس مشابه پیاده سازی صف اولویتدار با آرایه با این تفاوت که:این بار برای ذخیرهی اطلاعات به جای آرایه، از لیست پیوندی استفاده شده است .سازنده با ورودی int به سازندهای بدون ورودی تغییر کرده است. این سازنده یک لیست پیوندی خالی ایجاد میکند.