همیار

همیار

همیار

همیار

دانلود پیاده سازی لیست پیوندی با آرایه(++C)


دانلود پیاده سازی لیست پیوندی با آرایه(++C)



پیاده سازی لیست پیوندی با آرایه(++C) پیاده سازی لیست پیوندی با آرایه(++C) پیاده‌سازی لیست پیوندی یک طرفه (Single Linked List) با آرایه: نوع داده‌ای (class) به نام ForwardList تعریف شده است:این نوع داده به صورت template پیاده سازی شده است.علاوه بر سازنده‌ی کپی، سازنده‌ای تعریف شده که یک ورودی (int) گرفته و لیست خالی با حداکثر اندازه‌ی ورودی بسازد.تابع مخرب پیاده‌سازی شده است.تابعی به نام insert تعریف شده که در لیست داده‌ای را درج می کند. این تابع دو ورودی دارد. یکی داده‌ی مورد نظر برای درج و دیگری اندیس (int) مکان درج داده. مقدار بازگشتی تابع، اندیس (int) مقدار درج شده در لیست است.تابعی به نام erase تعریف شده که داده‌ای را از لیست حذف می کند. این تابع یک ورودی به عنوان اندیس (int) گرفته و عنصر متناظر با آن را از لیست حذف می‌کند. مقدار بازگشتی تابع، اندیس (int) عنصر بعدی عنصر حذف شده است.عملگر [] را برای این نوع داده سربارگذاری (overload) شده است. این عملگر ارجاعی به عنصر متناظر با اندیس ورودی (int) بازمی‌گرداند.تابعی به نام count تعریف شده که تعداد عناصر (int) موجود در لیست را باز می گرداند.



سایر پروژه ها :


پیاده سازی لیست پیوندی با آرایه(++C)

دانلود سورس تبدیل عبارت میانوندی به پسوندی (++C)


دانلود سورس تبدیل عبارت میانوندی به پسوندی (++C)



 سورس  تبدیل عبارت میانوندی به پسوندی (++C) سورس تبدیل عبارت میانوندی به پسوندی (++C) تابعی به نام Infix2Postfix1 تعریف شده است:این تابع یک رشته (* char) به عنوان ورودی می‌گیرد. (رشته با نویسه‌ی تهی '0\' پایان می‌پذیرد.)رشته‌ی ورودی این تابع یک عبارت میانوندی می‌باشد. (قالب عبارت میانوندی در ادامه آمده است.)این تابع یک رشته (* char) بازمی‌گرداند. رشته بایستی با نویسه‌ی تهی '0\' پایان پذیرد.این تابع با استفاده از ساختمان داده‌ی پشته، عبارت میانوندی ورودی خود را به عبارت پسوندی تبدیل کرده و به عنوان خروجی بازمی‌گرداند. (قالب عبارت پسوندی در ادامه آمده است.)تابع مرحله‌ی قبل (Infix2Postfix1) به گونه‌ای تغییر کرده است که:خروجی تابع float می‌باشد.تابع به جای تبدیل عبارت میانوندی به پسوندی؛ حاصل آن را بازمی‌گرداندنام تابع را به Infix2Postfix2 تغییر یافته است.قالب عبارت میانوندی: عبارت میانوندی شامل عملوند و عملگر و پرانتز باز '(' و بسته ')' می‌باشد. عملوندها به صورت اعداد اعشاری (ارقام ۱ تا ۹ و علامت ممیز (.)) و عملگرها شامل جمع (+)، تفریق (-)، ضرب (*)، تقسیم (/) و توان (^) می‌باشند. بین عملوندها، عملگرها و پرانتزها هیچ نویسه‌ای (مانند فاصله) وجود ندارد. قالب عبارت پسوندی: عبارت پسوندی شامل عملوند و عملگر (با قالبی مانند عبارت میانوندی) می‌باشد. عملگرها و عملوندها با نویسه‌ی فاصله (' ') جدا می‌شوند. حافظه‌های ایجاد شده در پایان برنامه آزاد می شوند.





 سورس  تبدیل عبارت میانوندی به پسوندی (++C)

دانلود پیاده سازی ساختمان داده‌ی پشته (++C)


دانلود پیاده سازی ساختمان داده‌ی پشته (++C)



پیاده سازی ساختمان داده‌ی پشته (++C) پیاده سازی ساختمان داده‌ی پشته (++C) classای به نام Stack تعریف شده است :این class به صورت template پیاده‌سازی شده است.توابع سازنده‌ی کپی و مخرب پیاده‌سازی شده اند.علاوه بر سازنده‌ی کپی؛ سازنده‌ای تعریفشده است که هیچ ورودی نمی‌گیرد و یک پشته با اندازه‌ی صفر ایجاد می‌کند.توابع زیر برای این class پیاده سازی شده اند:push: یک داده گرفته و در پشته ذخیره می‌کند.pop: داده را از پشته خارج و بازمی‌گرداند.top: داده‌ی بالای پشته را بازمی‌گرداند اما از پشته خارج نمی‌کند.size: تعداد داده‌های ذخیره در پشته را بازمی‌گرداند.محاسبه‌ی عبارت پسوندی:با استفاده از پشته‌ای که تعریف شده است؛ تابعی به نام postfix تعریف شده است. این تابع یک ورودی رشته (* char) با قالب‌بندی «لهستانی معکوس» می‌گیرد و حاصل آن را باز‌می‌گرداند. عملگرها و عملوندها (اعداد) با نویسه‌ی فاصله از یکدیگر جدا شده‌اند.عملگرها شامل جمع، تفریق، ضرب، تقسیم و توان می‌باشند. اعداد به صورت اعشاری می‌باشند.





پیاده سازی ساختمان داده‌ی پشته (++C)

دانلود سورس محاسبه‌ی عبارات چندجمله‌ای با استفاده از ساختمان داده‌ی آرایه (++C)


دانلود سورس محاسبه‌ی عبارات چندجمله‌ای با استفاده از ساختمان داده‌ی آرایه (++C)



سورس محاسبه‌ی عبارات چندجمله‌ای با استفاده از ساختمان داده‌ی آرایه (++C) سورس محاسبه‌ی عبارات چندجمله‌ای با استفاده از ساختمان داده‌ی آرایه (++C) classای به نام Polynomial برای تعریف عبارات چند‌جمله‌ای پیاده سازی شده است:علاوه بر سازنده‌ی کپی؛ سازنده‌ای برای این class تعریف شده است که ورودی آن یک رشته (* char) می‌باشد. رشته‌ی ورودی یک عبارت چند جمله‌ای می‌باشد.(قالب بندی عبارات چند جمله‌ای در ادامه آمده است.)تابعی به نام str تعریف شده است. این تابع ورودی نمی‌گیرد و خروجی آن از نوع رشته (* char) است که چند جمله‌ای خود شئ را بازمی‌گرداند.تابعی به نام val تعریف شده است. ورودی این تابع یک مقدار float خواهد بود. تابع مقدار دریافتی را در عبارت چندجمله‌ای به جای متغییر x قرار داده و حاصل را به صورت یک مقدار float بازمی‌گرداند.برای این class عملگرهای زیر را سربارگزاری (overload)شده است:عملگر +: خروجی آن یک Polynomial می‌باشد که حاصل جمع دیگر Polynomialها است.عملگر -: مشابه عملگر +عملگر *: مشابه عملگر + با این تفاوت که خروجی آن حاصل جمع دیگر Polinomialها است. خروجی باید به ساده‌ترین صورت باشد.عملگر /: چندجمله‌ای را بر یک عدد (float) تقسیم می‌کند.





سورس محاسبه‌ی عبارات چندجمله‌ای با استفاده از ساختمان داده‌ی آرایه (++C)

دانلود پیاده سازی ساختمان داده‌ی آرایه(++C)


دانلود پیاده سازی ساختمان داده‌ی آرایه(++C)



پیاده سازی ساختمان داده‌ی آرایه(++C) پیاده سازی ساختمان داده‌ی آرایه(++C) ساختمان داده‌ی آرایه را به صورت زیر پیاده‌سازی شده است:classای به نام Array تعریف شده است.این class به صورت template پیاده سازی شده است (بدون تغییر در پیاده‌سازی class بتوان نوع داده‌های مختلف را در آن تعریف کرد)دو سازنده برای این class تعریف شده است. یکی ورودی آن تعداد خانه‌های اولیه برای آرایه و دومی سازنده‌ی کپی.برای این class تابع مخرب تعریف شده است.class شامل توابع زیرمی باشد:append: داده‌ای را از ورودی گرفته و به انتهای آرایه اضافه می کند.extend: دو نسخه از این تابع موجودمی باشد: یکی آرایه‌ای از نوع داده‌های class و یکی اشاره‌گر به شئ‌ای از نوع Array.این تابع ورودی خود را به انتهای داده‌ها اضافه می‌کند.عملگر [] برای class تعریف شده است و داده‌ی ذخیره شده در اندیس ورودی را باز می گرداند. اندیس ورودی میتواند منفی باشد. در این صورت اندیس از آخر آرایه حساب می‌شود. این تابع در برابر اندیس خارج از محدوده پیام خطا چاپ می کند. برای مثال اگر آرایه ۴ خانه داشته باشد؛ اندیس ۴ و بیشتر و اندیس ۵- و کم‌تر ایجا خطا می کند.داده‌ی بازگشتی قابلیت مقدار دهی دارد.





پیاده سازی ساختمان داده‌ی آرایه(++C)