با سلام و خسته نباشی خدمت دوستان عزیز
از دوستان کسی هست بتونه بهم کمک کنه؟یک تابع تو سی پلاس میخوام که اعمال(* + - / % ! سیگما وتوان )رو محاسبه کنه.متشکرم
با سلام و خسته نباشی خدمت دوستان عزیز
از دوستان کسی هست بتونه بهم کمک کنه؟یک تابع تو سی پلاس میخوام که اعمال(* + - / % ! سیگما وتوان )رو محاسبه کنه.متشکرم
یه پرسش دیگه!!!!
اگه یه تابع توی یه برنامه داشته باشیم، بعد از اینکه تابع کارش تموم میشه، همه ی مشخصاتشم باهاش از بین میره (منظورم متغیر ها و Pointer ها و ... ست) و حافظه آزاد میشه؟ یا اگه توش یه متغیر از نوع new داشتیم باید در آخر delete کنیمش؟ اگه یه کم نا مفهوم پرسیدم بگین کدشو بزارم و واضح تر بپرسم!
برای توان میتونی یه حلقه ی for توی یه تابع درست کنی، یعنی دو تا عدد بگیری، عدد نخست رو درون یه متغیر دیگه قرار بدی و به تعداد عدد دوم (یکی کمتر) اون متغیر رو در عدد نخست ضرب کنی، البته از اون جایی که به نظر میرسه هدف از این پرسش به کار بردن تابع بازگشتی بوده باشه، پس باید مقدار برگردونده شده در تابعت، همون مقدار نخست ضربدر همون تابع باشه، البته در هر مرحله از عدد دوم باید یکی کم کنی تا زمانی که به 1 برسه.
منظورتو از سیگما درست نفهمیدم، اگه منظورت اینه یه تابع بدیم که سیگماشو از یه عدد تا یه عدد دیگه بگیره، باید یه تابع تعریف کنی (که این تابع همون تابع جوی علامت سیگماست) و یه تابع دیگه (که این تابع دو عدد رو میگیره و سیگمای تابع اولی از عدد نخست تا عدد دوم حساب میکنه) باید توی تابع دوم هر سری تابع اول رو برگردونی البته یاید متغیرشو یه واحد کم کنی تا زمانی که به متغیر دوم تابع دوم برسی.
فاکتوریل هم اگه دو تا بالایی رو تونستی بنویسی برات راحت میشه: توی یه تابع هر سری یکی کمتر از همون عددی که سری پیش تو تابع بوده رو بر میگردونی تا زمانی که به 1 برسی.
میدونم بسیار بد گفتم، ولی به زودی یکی از اساتید احتمالا درست و واضح پاسختو بده)
mer30 azizam shoma lotf darid hamin ke zahmat keshidid va type kardid khodesh ye donya arzesh dare mochakeram
بله حق با شماست ولی من این جواب ها رو ننوشتم یکی از دوستان زحمت کشیدند من دانشگاه بودم به جای من سر زدند وبرای هر کسی که در این با ره سوال کرده بود پاسخ گذاشتند
صورت کامل برنامه این است که ما تابع (f(x)=(x2 را در برنامه دارین برنامه از کاربر میخواهد که یکaوb را وارد کند وb-a را حساب کند که این همان دامنه تابع است بعد از کاربر میخواهد یک عددی وارد کند به عنوان i که این همان تعداد اعداد تصادفی است که کاربر میخواهد تولید شود مثلا 1000 کامپیوتر دامنه را به i قسمت تقسیم می کند برای راحت تر شدن برنامه یک ورودی از شما می گیرد یعنی یک x و (f(x وبعد اعدادی که انتحاب میکند (f(x هایشان را به ترتیب با مقدار (f(x قبلی مقایسه کند و اگر بزرگ تر از مقدار قبلی ماکزیمم بود ان را به جای مقدار قبلی ذخیره کند و اگر کوچکتر از مقدار قبلی مینیمم بود بود ان را به جای مینیمم قبلی جایگذاری کند اولین مقدار ماکزیمم و مینیمم همان مقدار اولیه ایست که کاربر وارد کرده (هم به عنوان ماکزیمم هم به عنوان مینیمم) و اخر سر (f(xماکزیمم و(f(xمینیمم را به ما میدهد به همراه xی که در ان نقطه این (f(x به دست می اید
{ برای نمونه کاربر وارد میکند a=-2و2=b دامنه ما نیسود از -2 تا2 بعد ما i را 1000 وارد میکنیم ;امپیوتر (b-a)/i )) مه همان 4/1000 را محاسبه میکند یعنی فاصله داده اول تا داده دوم 4/1000 است و بعد مینیمم راکه 0=(f(0 و ماکزیمم که 4=(f(2) = f(-2 است را به ما میدهد
دیگهبهتر از این بلد نیستم شرح بدم راستی نمیخوام زیاد پیشرفته باشد من فقط کمی برنامه نویسی بلدم در حد ایجاد تابع و یه کم هم ارایه ,...
@LLMMM
خوب شما الان کدوم قسمتشو به مشکل برخوردی؟
ببینید بحث مدیریت حافظه در هر زبان برنامه نویسی فرق داره اما همه انها در یک نقطه مشترک هستند اون هم نقش بسیار کلیدی سیستم عامل است
بنده به صورت کامل دقیق اطلاع ندارم که مدیریت حافظه در سی پلاس پلاس چگونه است
اما چیزی که قدرت سی پلاس پلاس رو بیش از اندازه کرده اینکه برنامه نویس میتواند به صورت مستقیم حافظه رو مدیریت کند یعنی شما میتوانید بعد از اینکه شی یا . . . رو ایجاد کردید ان را به سرعت از بین ببرید
سلام اینارو نگاه کن
- If you allocate with malloc(), you use free()
- If you allocate with new you use delete
- If you allocate with new[] you use delete[]
اینم مثال
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
و همونطور که دوستمون گفت نمیتونی یه خونشو پاک کنی با این شواهد ، شما برای اینکار یه آرایه دیگه در نظر بگیر همرو کپی کن اونور بدونه اونی که میخوای !!! این ساده ترین راهه
لیست پیوندی هم اینقد فک کنم تو نت زیاده که لازم به گفتن نیس
تا جایی که یادمه داده های محلی بعد از پایان اون بلاک از بین میرن ، این خصوصیت اوناس ، همونطور که داده های Main بعد تموم شدنش ار بین میرن ، در توابع هم به همین صورته
Last edited by MaSoUd555; 19-11-2012 at 11:38.
سپاس از هر دوتون ولی نگفتین، توی اون براکت جلوی delete میشه چیزی نوشت؟
نه دوست عزیز اونی که فک میکنید نیست ، و نمیشه چیزی نوشت
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)