ورود

نسخه کامل مشاهده نسخه کامل : راهنمایی در رابطه با دستورات c++



dewdrops
08-02-2009, 15:58
سلام . دوستان من مشغول یادگیری زبان C++ هستم اما از بعضی از دستورات سر در نمیارم . که تصمیم گرفتم از دوستانی در این زمینه تجربه دارند کمک بگیرم و ممنون می شم که منو راهنمایی کنید.

مثلا این دستور که قبل از دستور cout استفاده میکنیم چیه؟


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

ayshin
08-02-2009, 16:37
سلامدوست عزيز توي تاپيك هاي قبلي هم اين سوال پرسيده شده بود.مثل اين تاپيك.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

dewdrops
08-02-2009, 16:55
ممنونم . اما یه مشکل دیگه ای هست اینه که من از borland C++ استفاده میکنم اما زمانی که برنامه رو مینویسم ، کامپایل هم میکنه ، اما جواب آخر رو بهم نشون نمیده . باید چی کار کنم ؟

ayshin
08-02-2009, 20:34
به برنامت يه ()getch اضافه كن.همين طور سر فايل conio رو.

dewdrops
09-03-2009, 09:26
سلام .
دوستان تو ویژوال استادیو 2005 وقتی یه کدی رو debuge می کنم با این پیغام خطا مواجه میشم.البته به پیشنهاد دوستی من directx رو هم نصب کردم اما درست نشد .

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

Ar@m
09-03-2009, 12:00
سلام .
دوستان تو ویژوال استادیو 2005 وقتی یه کدی رو debuge می کنم با این پیغام خطا مواجه میشم.البته به پیشنهاد دوستی من directx رو هم نصب کردم اما درست نشد .

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
برو به:
Project Properties->Configuration Properties->Mainfest Tool->Input and Output->Embed Manifest
yes رو تبديل به no كن

javadyousefi
15-03-2009, 12:10
std يه namespace هست كه بايد قبل از دستوراتي مثل cin cout endl , . . . بياد براي اينكه ننويسي بالاي برنامه اينو بنويس كافيه


#include <iostream>
using namespace std;

dewdrops
03-05-2009, 18:40
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

سلام.دوستان من عملکرد این برنامه رو تو خط های 26و27 متوجه نمیشم .ممکنه تا یکی دو مرحله برام trace کنید.

sin2x=2sinxcosx
03-05-2009, 19:50
خوب مقدار frequencySize برابر 11 به صورت يک نوع صحيح ثابت است . پس هر جا که frequencySize هستش يعني همون 11.
responseSize هم 40 هست . ( اين هم ثابته )
يه آرايه 40 عضوي به نام responses ايجاد کرديم و همون جا هم مقدار اوليه داديم . ( باز اين هم ثابته )
آرايه 11 تايي frequency رو هم با صفر پر کرديم .
داخل حلقه for ( خط 26 ) يه متغير به اسم answer ايجاد کرديم و مقدار اوليه اش صفره . براي اولين بار مي خواد دستور داخل حلقه for رو اجرا کنه . ( با داشتن answer = 0 ) دستور زير رو داريم :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
از داخل به بيرون بياين بهتر متوجه ميشين . يعني قراره مقدار responses با انديس answer ( که فعلا صفره ) يه انديس براي frequency باشه . آرايه responses با انديس صفر ميشه 1 . پس انديس 1 از frequency يدونه ++ ميشه . بعد answer ميشه 1 . حالا عضو دوم ازآرايه responses داخل frequency قرار ميگيره که 2 هست . پس انديس 2 از frequency يدونه ++ ميشه . بعدش هم که عمليات چاپه .
مي دونين تو اين برنامه قراره چي بشه ؟ قراره اون اعدادي که به طور تصادفي داخل responses ريختيم بشماريم ببينيم از هر عدد چند تا داريم . اگه دقت کنين اعداد داخل responses از 1 تا 10 هستن و آرايه frequency يا همون تکرار 11 تايي هست . يعني انديس 8 از frequency هر مقداري داشته باشه يعني تو آرايه responses اين مقدار تا 8 داريم .
تا اين جا تونستم توضيح بدم . سوادم تا اينجا مي رسه . :20:
موفق باشين ...

dewdrops
05-05-2009, 18:58
دوستان تو visual studio 2005 وقتی دستورات رو می نویسم بعد خروجی میگیرم ، مشکلی ندارم اما مسئله زمانی بوجود میاد که وقتی کد رو تغییر میدم و وقتی دوباره اجراش میکنم همون خروجی قبلی رو نشون میده . باید چی کار کنم؟

sin2x=2sinxcosx
05-05-2009, 20:24
در منوي Tools و زير منوي Options ، در قسمت چپ گزينه Project and solution را باز کنين و داخل آن گزينه Build and Run را کليک کنيد . حال در سمت راست On Run , when build or deployment errors occur اگه گزينه Launch old version فعال باشه اونو به Prompt to launch تغيير بدين و OK کنين .
در غير اينصورت اگه اروري باشه آخرين اجراي موفقيت آميز برنامه رو اجرا مي کنه . اگه Prompt to launch رو انتخاب کنين موقع ارور اخطار ميده و اگه Do not lanch رو هم که بزنين اصلا اجرا نمي کنه .

dewdrops
06-05-2009, 12:02
دوست محترم ،

من داخل پروژم دو تا فایل c++ دارم که هر دو شون با پیغام خطا مواجه میشه و لی اگر هر کدوم رو در پروژه های جدا اجرا کنم ،بدون هیچ خطایی اجرا می شن. چرا این اتفاق می افته ؟

sin2x=2sinxcosx
06-05-2009, 15:18
دوست عزيز خوب مسلمه که اگه هر دو داراي تابع main باشن اجرا نشه . اين کاملا منطقيه . شما خودتو بذار جاي کامپايلر ، اگه چنين وضعيتي پيش بياد اجرا مي کني ؟ :31:

dewdrops
28-07-2009, 16:39
سلام . دوستان برنامه ای رو نوشتم که باید یک عددی رو بگیره و هر یک از ارقام رو با سه فاصله از هم تو خروجی چاپ کنه . البته برنامه من رقم ها رو بر عکس چاپ میکنه . ممنون میشم در این رابطه راهنماییم کنید .


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

sin2x=2sinxcosx
28-07-2009, 17:49
برنامه جالبي بود . :20:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

من برعکس عدد ورودي رو تو يه int ديگه ذخيره کردم و اونو با روش شما چاپ کردم .
ممنون ....

mahdi7s
28-07-2009, 17:53
سلام

بهتر است در حلقه ی do-while بجای چاپ ارقام آنها رو در یک آرایه ذخیره و سپس بعد از حلقه

حلقه for دیگری ایجاد و در اون آرایه به صورت معکوس بچرخید و ارقام رو چاپ کنید.

در ضمن من صفحه رو refresh نکرده بودم و پست قبلی رو ندیدم بنابراین به بزرگی خودتون ببخشید.

موفق باشید.

sin2x=2sinxcosx
28-07-2009, 17:55
سلام

بهتر است در حلقه ی do-while بجای چاپ ارقام آنها رو در یک آرایه ذخیره و سپس بعد از حلقه

حلقه for دیگری ایجاد و در اون آرایه به صورت معکوس بچرخید و ارقام رو چاپ کنید.

موفق باشید.

بله ممنون . ولي نخواستم از آرايه ها استفاده کنم .

dewdrops
09-08-2009, 12:33
[UOTE=sin2x=2sinxcosx;4021892]برنامه جالبي بود . :20:
بله برنامه جالب بود اما راهکار شما جالب تر . خیلی ممنون

من این برنامه رو نوشتم .

برنامه ای بنویسید که تعیین کند در یک فروشگاه بزرگ آیا میزان خرید مشتری از سقف اعتبار حساب او تجاوز کرده است یا خیر . برای هر مشتری ، اطلاعات زیر موجود می باشد:
الف)شماره حساب (یک عدد صحیح )
ب)تراز اول ماه
ج)مجموع کل اقلامی که توسط این مشتری در یک ماه هزینه شده است.
د)مجموع کل اعتباراتی که در یک ماه به حساب این مشتری وارد شده است .
ه)سقف اعتبار مجاز
این برنامه باید با استفاده از دستور while هر یک از این اطلاعات را وارد ،تراز جدید (=تراز اولیه +هزینه ها – اعتبارات ) را محاسبه کنه . برنامه درست جواب میده اما زمانی که -1 رو میزنم از برنامه خارج نمیشه ، هر چقدر هم میگردم علت رو پیدا نمیکنم.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Ar@m
09-08-2009, 19:57
اينطوري بايد بنويسي:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

dewdrops
10-08-2009, 17:11
ممنون از راهنماییتون.

برنامه ای که خروجییش این هست .

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

تو ردیفی که N 10*n 100*n 1000*n باید چاپ بشه در انتها چند تا صفر اضافه هم میذاره .چرا ؟ کجای برنامه من مشکل داره ؟

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Ar@m
10-08-2009, 18:11
خواهش مي كنم

اون صفرا مقادير n به ازاي n=0 هستش كه به آخر اون خط اضافه شده
اگه اين رديف رو نمي خوايد بايد n=1 باشه
خط پنجم هم يه تغيير كوچيك ميخواد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

dewdrops
10-08-2009, 20:28
جدا ممنونم

این برنامه ای رو هم که نوشتم ، کارش به این صورت هست که بین 10 تا عدد ورودی 2 عدد که از همه بزرگتر هست رو پیدا میکنه اما دو تا سوال دارم
1-با توجه به اینکه برنامه درست جواب میده اما الگوریتم برنامه رو درست بدست آوردم .
الگوریتم به این صورت هست که در ابتدا دو تا عدد رو میگره بعد از اینکه تشخیص داد کدوم از اون یکی بزرگتر هست اونا رو تو متغیر های خودش قرار میده بعد میاد تو حلقه while عدد های بعدی رو میگیره و با متغیر ها مقایسه میکنه .
این برنامه روش دیگه ای هم برای پیاده سازی داره ؟
2-در صورت سوال به صورت نکته گفته شده هر عدد رو تنها یک بار می توانید وارد کنید.
حالا من سوالم اینه که کاربر خودش باید حواسش جمع باشه که عدد رو تکراری وارد نکنه یا روش خاصی برای این موضوع وجود داره ؟
ممنون...

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Ar@m
11-08-2009, 12:30
الگوريتم خوبيه فقط ميشه اين قسمتشو راحتتر نوشت:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

با استفاده از آرايه ها ميشه الگوريتم رو يه ذره آسونترش كرد:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

براي سوال دومت هم ميشه برنامه رو اينطوري نوشت:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

اگه كسي ايده بهتري داره خوشحال ميشم بدونم

dewdrops
11-08-2009, 13:25
تو کتابی که میخونم یه تمرین خیلی خیلی ساده اما جالبی داده که به این صورت هست .
باید برنامه ای رو که داده به ازای خروجی های مختلفی که خواسته طوری بلوک بندی کنیم اون خروجی ها رو بده.


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

که مثلا خواسته به ازای x=5 و y=8 باید خروجی به صورت زیر باشه .

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
که خوب برنامش اینطوری می شه

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

یا مثلا خواسته به ازای x=5 و y=8 باید خروجی به صورت زیر باشه .

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

که برنامه رو باید اینطوری تغییر داد دیگه . درسته ؟

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

ولی تو یه قسمت اینطوری خواسته .

ازای x=5 و y=7 باید خروجی به صورت زیر باشه .

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
نکته: سه دستور خروجی آخر بعد از else همگی بخشی از یک دستور مرکب هستند .
به نظر شما چطوی باید این برنامه رو بلوک بندی کنیم که خروجیش این سه خط آخر باشه . چون اگر y=7 باشه که دستور داخلش اجرا نمیشه و در ضمن cout<<"#####"<<endl; مربوط به else دیگه درسته .

Ar@m
11-08-2009, 19:44
خب درواقع تو به ازاي x=5 و y=7 هيچكاري لازم نيست رو برنامه انجام بدي چون خود خروجي اينطوري كه گفتي ميشه
چون اونجوري كه من ميبينم تو حق تغيير هيچ قسمت از برنامه رو نداري جز بلوك بندي كردن و برنامه هم براي x=5 و y=8 نوشته شده پس به ازاي x=5 و y=7 خودش همچين خروجي اي ميده

dewdrops
12-08-2009, 14:11
اول راجع به برنامه قبل از این باید خدمت شما دوست محترم عرض کنم که من هنوز به فصل مربوط به آرایه ها نرسیدم درسته که آشنایی دارم اما این فصل که دارم برنامه هاش رو انجام میدم مربوط به if , while هست . و از اینکه شما لطف میکنید و وقت میذارید و برای من نمونه برنامه با روش های مختلف رو مینویسید خیلی ممنونم .

اما اگر نخوایم از آرایه ها برای کنترل اعداد ورودی استفاد کنیم آیا روشی وجود داره ؟ به فکر من که چیزی نرسید:20:

اما راجع به این برنامه آخر .
بله حق با شماست من حق تغییر تو هیچ قسمت برنامه رو دارم چون تو صورت سوال هم این موضوع رو بیان شده ولی طبق کفته شما من اگر هیچ تغییری تو برنامه ایجاد نکنم خروجی به ازای مقادیر گفته شده میشه این


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

نه اون چیزی که مسئله گفته . و نمیدونم که منظور نویسنده که آقای دایتل باشن از طرح این سوال چی بوده ؟

Ar@m
12-08-2009, 19:14
اول اينكه خواهش مي كنم من كه كاري نكردم
دوم اينكه بايد روي اين سوالت درباره كنترل اعداد ورودي بدون دخالت آرايه بيشتر فكر كنم.

و در مورد برنامه آخر هم راست گفتي من اشتباه كردم اينطوري اگه بلوك بنديش كني درست ميشه:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

سوال خيلي هوشمندانه است. بايد توجه كني else براي if دوم تعريف شده و ما بايد كاري كنيم كه براي if اولي تعريف بشه تا با خارج شدن از شرط هر سه تا دستور اجرا بشن

dewdrops
13-08-2009, 15:09
خیلی عالی بود.ممنون
اینم چند تا برنامه ی دیگه که لطفا به درست یا غلط بودن روشم نظر بدید .:46:

این برنامه برای تعیین اینکه آیا عدد وارد شده palindrom هست یا نه . که برای این کار از روشی که قبلا برای جدا سازی ارقام استفاده کرده بودیم ، استفاده کردم.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اینم کد هم مربوط به برنامه ای هست که اندازه ضلعی از یک مربع رو میگیره و با استفاده از کاراکتر های مربع و فاصله ، مربعی تو خالی به اضلاعی با همون اندازه چاپ میکنه .
مثلا اگر برنامه اندازه 5 رو بخونه خروجی باید به شکل زیر باشه .


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

با خطوطی که قرمز کردم ، خط اول و آخر مربع رو چاپ میکنه و با خطوطی که صورتی کردم ، خطوط میانی رو چاپ میکنه . احساس میکنم با وجود اینکه برنامه درست جواب میده ولی راهم رو اشتباه رفتم . اینکه خط اول و آخر جداگانه رسم میکنه درسته ؟

و این هم برنامه ای هست که یه عدد باینری رو میگیره بعد کد دهدهی معادل اونو برمیگردونه .


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

این یکی خواسته بود که برنامه ای بنویسیم که الگوی زیر رو چاپ کنه .و گفته بود برنامه شما تنها باید از سه دستور خروجی به صورت های زیر استفاده کنه که خوب من چون نمیدونستم باید چطوری این کارو کرد با روشی که خودم تونستم این کارو انجام دادم.


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

تموم شد. :20:

sia abedi
14-08-2009, 09:43
با سلام
ميشه ازتون بخوام يكي توابع عضو ثابت كلاس(همون constخودمون)و كلمه‌ي كليدي mutableرا به طور كامل توضيح بده

dewdrops
18-08-2009, 15:31
(مساله پیتر مینت-peter Minuit problem ):معرئف است که در سال 1626 میلادی پیتر مینت،منهتن(Manhattan) را به قیمت 24.00$، خرید.آیا او سرمایه گذاری خوبی کرده است ؟ برای پاسخ به این سوال ، برنامه محاسبه مرکب را به گونه ای تغییر دهید که با سرمایه گذاری اولیه 24.00$، شروع و مقدار بهره این سپرده را در صورتی که تا امسال ( 379 سال تا سال 2005)در حساب نگه داشته شده باشد ،حساب کند.با قرار دادن یک دستور forدر خارج از دستور for مربوط به محاسبه بهره مرکب،بهره مرکب را با نرخ های بهره %10,%9 ,%8 ,%7 , %6 , %5 محاسبه کرده و شگفتی های بهره مرکب را مشاهده کنید.( هر چند که الان سال 2009 هستیم ولی طبق چیزی که تمرین گفته )

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
که این تغییرات رو تو برنامه دادم .ولی چون خروجی برنامه رونمیشه به طور کامل دید،دقیقا نمیدونم تغییرات درست اعمال شده یا نه .

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

sin2x=2sinxcosx
18-08-2009, 21:20
من دقيقا متوجه نشدم مشکل شما چيه .

dewdrops
20-08-2009, 20:10
ظاهرا من بد توضیح دادم یا کم توضیح دادم. معذرت میخوام.
ما یه برنامه داریم به اسم محاسبه مرکب که به این صورت هست :
فردی 1000.00 دلار را در یک حساب پس انداز با بهره 5% سرمایه گذاری میکند . با این فرض که بهره نیز به سپرده اضافه شود،مقدار پول موجود دراین حساب را در پایان هرسال تا 10 سال محاسبه و چاپ کنید.برای تعیین این مقادیر از فرمول زیر استفاده کنید:
A=p(1+r)n
که درآن
P=مقدار اولیه سپرده
R=نرخ سالانه بهره
N=تعداد سال ها
A=مقدار موجودی درپایان سال nام
تو فرمول کل پرانتز به توان n هست .
که برنامه این قسمت ، اولین برنامه ای هست تو پست قبلی دادم .بعد تو تمریناتش مساله پیترمینت رو مطرح کرده و گفته برنامه محاسبه مرکب را به گونه ای تغییر دهید که با سرمایه گذاری اولیه 24.00$ شروع ومقدار بهره این سپرده رادر صورتی که تاامسال در حساب نگه داشته باشد، حساب کند.
حالا من تغییرات رو اعمال کردم
1-خروجی رو به دلیل طولانی بودن اصلا نمیشه کامل دید و اگر بخوایم ببینیم باید چی کار کنید ؟
2- اصلا من تغییرات رو درست اعمال کردم.
ممنون.

sin2x=2sinxcosx
21-08-2009, 09:33
بله . فکر کنم مسئله شما مشکلي نداشت . ولي بايد نرخ سود رو هم از 0.05 به 5 يا 6 يا ... درصد افزايش مي دادين .
من تا اونجايي که يادمه اين مسئله رو قبلا حل کرده بودم . در سال هاي آخر به مبلغ بسيار بزرگي مي رسيد که تو Console به درستي اين اعداد نمايش داده نمي شد . ( به دليل بزرگي بيش از حد اعداد ) مشکلي نيست . براي چي مي خواين خروجي رو به طور کامل ببينين ؟ خود مسئله ميگه "تا به مبلغ عجيب اين سرمايه گذاري با نرخ سود مرکب دست يابيد"

dewdrops
22-08-2009, 15:53
دوست عزیز بالاخره درسته تو این مسئله نمیشه تمام 379 سال رو دید و فقط قسمتی از خروجی قابل دیدن هست اما بالاخره یه زمانی تو بعضی برنامه ها نیاز میشه که بخوایم خروجی رو کامل ببینیم یا بهتر بگم باید چی کار کنیم که خروجی رو بتونیم صفحه به صفحه ببینیم.؟

sin2x=2sinxcosx
22-08-2009, 21:43
تمام 380 سال ديده ميشه . ولي از آنجا که پنجره کنسول ابعاد محدودي داره اعداد بزرگتر تو چند سطر ميان که قابل خوندن نميشه .

dewdrops
01-09-2009, 17:42
میخوام برنامه ای بنویسم که عدد رو از مبنای 10 به 2 ببره.البته تو فروم های مختلف search کردم اما یا سر در نیاوردم یا از آرایه استفاده کرده بودن. بخاطر همین تصمیم گرفتم این برنامه رو با توجه به توضیحات کتاب بنویسم اما اصلا درست جواب نمیده . من توضیح خط به خط کتاب رو میذارم و برنامه ای که من از توضیحات متوجه شدم و نوشتم رو میذارم .
فرض کنید میخواهیم عدد دهدهی 57 را به معادل دودویی آن تبدیل کنیم.کاررا با نوشتن ارزش مکانی اعداد از راست به چپ شروع میکنیم و این کاررا تا آنجا ادامه میدهیم که سمت چپ ترین ارزش مکانی از عد مورد نظر دهدهی بزرگتر شود.
بنابراین :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

سپس از ارزش مکانی 64 صرف نظر میکنیم.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

سپس با شروع از سمت چپ عدد 57 را بر 32 تقسیم میکنیم که باقیمانده 25 را تولید میکند، بنابراین مقدار 1 را در زیر 32 قرار می دهیم.سپس 25 را بر 16 تقسیم میکنیم که باقیمانده 9 را تولید می کند،بنابراین مقدار 1را در زیر 16 قرار میدهیم.سپس 9 را بر 8 تقسیم میکنیم که باقیمانده 1 را تولید میکند ، بنابر این مقدار 1 را در زیر 8 قرار میدهیم.از تقسیم عدد 1 بر دو عدد بعدی (4 و 2)خارج قسمت صفر حاصل می شود.بنابراین زیر آنها صفر قرار میدهیم .در آخر , هدد 1 را بر 1 تقسیم میکنیم که خارج قسمت 1 را تولید میکند .بنابراین عدد 1 را زیر آن قرار می دهیم.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

برنامه من فقط خروجی 1 میده :20:در صورتی که خروجی با این ورودی باید بشه 111001.

و کل برنامه هم به این صورت هست دیگه .


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

sin2x=2sinxcosx
01-09-2009, 22:20
مي تونين از اين برنامه استفاده کنين .

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

برنامه خودتون رو Trace نکردم ببينم ايرادش چيه .

Ar@m
02-09-2009, 11:56
اشكال برنامه ات اينه كه تو توي حلقه از باقيمانده استفاده كردي (a%b) درصورتيكه سوال براي گذاشتن 1 ها فقط به باقيمانده توجه كرده و براي گذاشتن صفرها به خارج قسمت رجوع كرده
اين مشكل رو ميتوني طور ديگه اي حل كني. چه وقت خارج قسمت صفر ميشه؟ وقتي باقيمانده با مقسوم، يكي بشه يعني مثلا در تقسيم 1 بر 4 ، خارج قسمت صفر و باقيمانده 1 ميشه.
پس ميشه برنامه رو اينطوري اصلاح كرد:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

درضمن توي خط 11 نبايد b<a باشه چون اگه عددي كه انتخاب ميكنيم طوري باشه كه اعداد به توان 2 با خودش برابر بشن يكي از b به اشتباه كم ميشه پس بايد باشه b<=a

dewdrops
02-09-2009, 17:47
اول از شما دوستان محترم خیلی ممنونم که همیشه راه کارهای خوبی رو به من نشون میدین.

دوست محترم sin2x=2sinxcosx ممنونم از برنامه ای که لطف کردید و گذاشتین . ولی .... راستشو بخواین برنامه های شما یه کم خلاقانه نوشته میشه و اینم مطمئنم به خاطر تجربه خوبی هست که شما تو برنامه نویسی دارید .من برنامه شما رو حدود یک ساعت هی trace میکردم ولی به نتیجه نمیرسیدم .راستش متوجه عملکردش نشدم .خواستم خواهش کنم اگر براتون امکان داره تا سه مرحله ، فقط سه مرحله برام مراحل trace رو توضیح بدید تا بفهمم کجای کارو اشتباه میکردم .

و اما راهکار شما دوست محترم ، Ar@m. خیلی راهکارتون جالب بود .
برنامه ها تا حدودی نوشتنشون ساده هست و مهم همین راهکار هاست که من همیشه باهاش مشکل داشتم ... .:20:
اما با توجه به توضیحات شما تو خط اول که داده بودین من یه تغییر کوچیک تو برنامم دادم که همون باعث شد خروجی برنامه منم درست شه .:20:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

sin2x=2sinxcosx
03-09-2009, 11:46
به روي چشم .
ببينين دوست من ... خطوط اول که تعريف متغيرها هستن . بعد به کاربر ميگيم که يه عدد در مبناي 10 وارد کنه و بعد توسط cin اونو مي گيريم . بعد توسط متغير c مقدار اورجينال عدد دسيمال رو نگه مي داريم . (بعدا ميگم چرا)
ما قراره تو برنامه چيکار کنيم ؟ اگه بخوايم يه عدد دسيمال رو تو مبناي 2 بدست بياريم هي اون عدد رو بر 2 تقسيم مي کنيم و دوباره تا خارج قسمت کمتر از 2 نشده همين کار رو ادامه مي ديم . بعد اين باقيمانده ها رو از آخر به اول مي نويسيم و نتيجه حاصل ميشه .
پس کار خيلي ساده اس و تنها مشکل اينه که بايد از آخر به اول اينا نوشته بشن . پس مجبوريم به يه نحوي اين اعداد اولي رو تو يه جايي نگه داريم . منتظر باشيم تا تقسيم ها تموم بشن و بعد اين اعداد بدست آمده رو کنار هم قرار بديم تا نتيجه بياد . براي نگه داشتن اين اعداد مي تونستيم از آرايه ها استفاده کنيم . درسته کار رو ساده مي کرد ولي :
1- شما گفتين با آرايه ها نه .
2- کار رو يه کم غير استاندارد مي کنه . چون معلوم نيست عدد ما قراره چند رقمي باشه که بخوايم يه آرايه براي اون تعريف کنيم . اگه هم يه آرايه خيلي بزرگ معرفي کنيم که هر رنجي رو ساپورت کنه چرا حافظه اضافي اشغال کنيم ؟
خوب داشتم مي گفتم . براي اولين بار باقيمانده تقسيم number بر 2 رو تو b ذخيره مي کنيم . بعد نياز هست که number يه بار بر 2 تقسيم بشه خودش . تا خارج قسمت ايده آل ما ايجاد بشه .
ما تو مرحله بعدي يه عدد رو تو 10 ضرب مي کنيم و بعد b رو بهش ضرب مي کنيم . اگه b مقدارش 0 باشه اين ضرب 0 ميشه و جمع اون با result نتيجه اي نخواهد داشت ولي از آن جا که اين عدد قبلا در 10 ضرب شده بود اون صفر مي مونه جاش و دفعه بعدي که ضرب شد رقم بعدي ميا دنبال اون صفر قبلي . در آخر هم هنگام چاپ اون مقدار اورجينال متغيري که تو اول برنامه ذخيره کرده بوديم رو استفاده مي کنيم . چون اگه توجه کرده باشين بار اول اجراي برنامه به while نمي رسه و مقدار متغير b از دست مي ره .

dewdrops
05-09-2009, 18:29
از خطوط 15 و 16 متوجه شدم که برنامه از تقسیم متوالی بر 2 میخوا مبنای دو رو تولید کنه ، اما متوجه نمیشدم که چطوری داره این کارو میکنه که خوب بالاخره فهمیدم. خوبی و کارایی این برنامه خیلی بهتر از برنامه من هست چون از همین برنامه برای تغییر مبنای 10 به 8 و 10 به 16 هم استفاده کردم . ولی همه این کارا رو انجام دادم که بتونم برنامه ای رو بنویسم که جدول دودویی ، اکتال ، هگزادسیمال معادل اعداد دهدهی رو تو خروجی چاپ کنه اما ...
هر کاری کردم نتونستم یه برنامه ساده بنویسم که این جدول رو چاپ کنه. در نهایت مجبور شدم از این راه حل که به نظرم بدترین راه حل هم هست استفاده کنم .چون تعداد متغیرها خییییلی زیاد شد. حالا نمیدونم .به نظر شما راه حل بهتری هم هست؟

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

sin2x=2sinxcosx
05-09-2009, 21:27
مطمئنين براي هگزادسيمال راه رو درست رفتين ؟ چون من که به جدولتون نگاه کردم اثري از حروف A و B و C و ... نبود .
راستي يعني تنها مشکل شما تو برنامه تون اينه که نمي خواين تعداد متغيرها اين قدر زياد بشه ؟

sin2x=2sinxcosx
05-09-2009, 21:55
مثلا خروجي اين برنامه رو که معادل هگزادسيمال اعداد از يک تا 100 رو چاپ مي کنه نگاه کنين :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

dewdrops
06-09-2009, 11:12
حق با شماست .اصلا حواسم به این موضوع نبود . ولی فکر کنم دیگه الان درست شده باشه . ولی اگر این برنامه هم باز اشکال داره بهم بگید.


راستش اگر قرار باشه این جدول به همین روش چاپ بشه که خوب وجود این همه متغیر منطقی به نظر میرسه . ولی آیا این برنامه هم از لحاظ نوشته شدنش هم منطقی ؟ درسته که برنامه جواب موردنظررو میده ولی درست نوشتن برنامه هم شرطه دیگه .مگه نه ؟؟؟ چون شما نگاه کنید این دستورات


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدو


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدو


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
به یه شکل هستن و میخواستم یه جوری بنویسم که اینا توی یه دستور for نوشته بشه چون اگر اینطوری بشه دستورات while هم کمتر میشه و به نوعی میشه while ها رو هم با هم ادغام کرد .ولی یه کم که بیشتر فکر کردم دیدم جدا جدا نوشتن اونا بهتر جواب میده.



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

sin2x=2sinxcosx
06-09-2009, 11:34
دوست عزيز ظاهرا باز هم برنامه تون تو قسمت HexaDecimal مشکل داره . برنامه بايد براي معادل هگزادسيمال عدد 90 ، عدد 5A رو چاپ کنه . نه 60 .
تو اين برنامه هم نبايد از آرايه ها استفاده بشه ؟

dewdrops
06-09-2009, 13:15
اگر نشه بهتر ه . :20:چون هنوز فصل آرایه رو شروع نکردم و کلا کار با آرایه رو فراموش کردم و دوست دارم ببینم بدون آرایه چطوری میشه نوشت.

اگر نوشتنش بدون آرایه وقت گیر هست لطفا راهنمایی که من چطوری باید اون رو بنویسم که شما به زحمت نیفتید بعد اگر بازم نشد با وجود اینکه اصلا دوست ندارم ازش بگذرم ولی نوشتنش رو موکول میکنیم به زمانی که آرایه رو خوندم. :46:

برای نوشتن سه تایی فیثاغورث تو ویکی پدیا سرچ کردم .(البته من سه تایی های کوچکتر از 500 رو میخوام تو خروجی )
ولی برای سه تایی های کوچکتر از 100، 16 تا حالت به این صورت بدست آورده بود.
( 3, 4, 5) ( 5, 12, 13) ( 7, 24, 25) ( 8, 15, 17)
( 9, 40, 41) (11, 60, 61) (12, 35, 37) (13, 84, 85)
(16, 63, 65) (20, 21, 29) (28, 45, 53) (33, 56, 65)
(36, 77, 85) (39, 80, 89) (48, 55, 73) (65, 72, 97)
و برنامه ای هم که نوشتم به این صورت هست .

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

تو خروجی برنامه مجموعه بالا هست به اضافه مجموعه های دیگه. درست نوشتم یا...؟؟؟

یه برنامه هم پیدا کردم که به زبان VB نوشته شده بودو دستور IF رو اینطوری نوشته بود (البته من اون دستور رو به c++ تبدیل کردم )


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

به نظرم این دستور باید درست تر باشه ولی اصلا خروجی درستی نمیده .چرا؟


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

dewdrops
07-09-2009, 16:31
جدول رو با برنامه ای که شما لطف کردید و گذاشته بودین تکمیل کردم . اگر بازم مشکلی داره لطفا بهم بگید.


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

sin2x=2sinxcosx
08-09-2009, 01:29
خير مشکلي نيست . :20:
در مورد برنامه سه تايي فيثاغورث ، من برنامه رو يه کم پرانتزبندي کردم نتيجه کمي ايده آل تر شد . اولين سه تايي که آورد 6 و 8 و 10 بودن . در حالي که قبلش بايد 3 و 4 و 5 رو ميورد . بعد اومدم برنامه رو Trace کنم ببينم مشکلش چيه . ديدم 100 تا رو نمي تونم . کردمش 5 تا بعد ديدم 3 و 4 و 5 رو اول آورد . خيلي تعجب آوره .... :41:
اصلا پرانتز بندي هم نياز نبود . چون اولويت اون عملگرها به همون ترتيب وفق مراد ما هستش .
در مورد نوشتن مبناي 16 هم فکر مي کنم . :20: الان دارم ميرم بخوابم . :31:

sin2x=2sinxcosx
08-09-2009, 10:38
سلام . براي مبناي 16 مي تونين از اين قطعه کد استفاده کنين :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
البته راه ساده تري هم بود . اين هم راه حل دوم :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

dewdrops
09-09-2009, 16:51
سلام. این راهی که شما گذاشتین برای تغییر مبنای 16 خیلی ساده و عالی بود .

نمیدونم چرا همچین چیزی به نظر من نرسید البته نه اینکه بگم اصلا روش فکر نکردما نه ، فقط نمیدونم چرا احساس میکرم باید راه حل پیچیده و سختی داشته باشه .

میدونید در واقع مشکل اغلب برنامه نویسای مبتدی مثل من اینه که مغزشون سریع میفته تو تله و خیلی سریع شرطی میشه .

مثلا این دستور شما رو تو این مدت چند سالی که برنامه نویسی رو جزو دروس یاد می گرفتیم ، بهمون این شکلی نگفته بودن که میشه این دستورات رو به این شکل تکنیکی نوشت و اصلا خودمم تصور نمیکردم میشه اینطوری هم نوشت .

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

و البته فکر میکنم علت اینکه تو این مدت اونطور که شاید و باید برنامه نویسی رو یاد میگرفتم و نگرفتم همین موضوعات بوده . شاید بعد از یه مدت که میگذره کسی با الگوریتم مشکلی نداشته باشه و مهم همون پیاده سازیش باشه و من مطمئنم که افرادی که دستورات رو یاد میگیرن حتی با خود دستورات هم مشکلی ندارن با چگونه به کار گیری دستورات مشکل دارن .
دوست دارم که نظر شما رو هم در این رابطه بدونم .

sin2x=2sinxcosx
09-09-2009, 18:54
سلام ...
خوب البته يادگيري Syntax هر زباني يه قسمت از کاره و کسب تجربه هم يه قسمت مهم ديگه . شما اگه تجربه برنامه نويسي رو داشته باشين (با هر زبان شيء گرا ) به راحتي مي تونين زبان هاي ديگه رو هم ياد بگيرين . در اين حالت فقط يادگيري Syntax کافيه . در مورد :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدبايد به اين نکته توجه داشت که تقريبا هر جايي که بشه i رو استفاده کرد i-- رو هم ميشه استفاده کرد . داخل حلقه for ما سه کار مي تونيم انجام بديم (مقداردهي اوليه ، شرط ، تغييرمقدار ) و يا اصلا مي تونيم هيچ کاري انجام نديم. ( حلقه نامحدود ) حالا به جاي اينکه خارج حلقه for يکي از i کم کنيم داخل حلقه کرديم که جاش خالي نباشه . مي تونستيم اين کارو هم بکنيم :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدالبته در مورد پاراگراف آخرتون هم بايد بگم حرف اول و آخر رو تو برنامه نويسي الگوريتم مي زنه . يه برنامه نويس به قول خارجي ها با الگوريتمش Challenge‌ ميشه . به قول آقاي ديتل ، اغلب اوقات تبديل يک الگوريتم به دستور زبان C کار خيلي راحتيه . ولي جمله آخرتونو قبول دارم که همه ، دستورات يا Synatx رو بلدن . مهم تو به کار گيري هستش .

راستي کدوم برنامه رو مي گفتين ؟ :20:


این راهی که شما گذاشتین برای تغییر مبنای 16 خیلی ساده و عالی بود .

dewdrops
10-09-2009, 09:20
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

اینو گفتم.:20:

dewdrops
17-01-2010, 23:25
سلام.

دوستان ، اگر بخوایم درخت پوشای مینیمال رو طوری تغییر بدیم که به جای مینیمال به ما ماکسیمال بده باید چه تغییراتی توی الگوریتم اعمال کنیم؟

ممنون میشم راهنمایی کنید .

dewdrops
19-01-2010, 00:17
دوستای خوبی که همیشه یاریگر بودند الان دیگه نیستن .
لازمه که من الگوریتم مینیمال رو بذارم ؟

dewdrops
25-01-2010, 18:29
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

دوستان من چون به جواب این سوالی که مطرح کردم احتیاج مبرم دارم ،:19: شبه کد این الگوریتم رو گذاشتم .
لطفا با توجه به این شبه کد برمایید که چطوری باید تغییرات رو اعمال کنم؟؟؟؟؟؟؟؟؟؟:19:

fam_jam_teh
26-01-2010, 17:42
مینیمال ماکسیمال رو یادم رفته یه توضیح در موردش میدی

dewdrops
27-01-2010, 20:40
برای یافتن درخت پوشای مینیمال سه الگوریتم مشهور وجود داره: الگوریتم دیکسترا که یک روش greedy هست، الگوریتم کراسکال و الگوریتم پریم و پریم بر اساس راس کار میکنه و کراسکال بر اساس یال.
البته تا دیروز جواب این سوال برام مهم بود دیگه مهم نیست ممنون.:20:

MILIN3M
28-01-2010, 13:56
دوستان اشکال این برنامه کجاس؟؟5 نمره رو بگیره و معدل حساب کنه


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

dewdrops
07-02-2010, 20:33
سلام
از دوستان کسی میدونه پیغام this project out of date برای چیه؟
هر برنامه ای که مینویسم میخوام کامپایل کنم این پیغام رو میده .

p d
08-02-2010, 13:58
از دوستان کسی میدونه پیغام this project out of date برای چیه؟



چرا يه پروژه جديد نميسازيد ؟
بازم مشكل داره ؟

_________


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
دقيق نگاه نكردم ولي , جاي short count بنويس count و يه int count هم اول برنامه اضافه كن.

ببين حل ميشه يا نه ؟

dewdrops
10-02-2010, 10:42
بعد از اینکه برنامه vs رو پاک کردم و دوباره نصب کردم این مشکل براش اومده

با هر پروژه و برنامه این ارور رو میده :41:

sin2x=2sinxcosx
10-02-2010, 10:59
بعد از اینکه برنامه vs رو پاک کردم و دوباره نصب کردم این مشکل براش اومده

با هر پروژه و برنامه این ارور رو میده :41:


آخه مشکلی نیست . این برای همه پیش میاد . یه Warning هست . تیک Don't Show رو بزنین و Yes کنین اجرا می کنه دیگه .
تو VS قبلیتون اون تیک زده شده بود برای همین نشون داده نمی شد . ولی الان باز اومده .

dewdrops
12-02-2010, 12:42
پارکینگی برای توقف تا سه ساعت حداقل 2.0 دلار و برای هر ساعت اضافه یا بخشی از ساعت اضافه بر سه ساعت 0.5 دلار می گیرد.حداکثر مبلغ قابل پرداخت برای هر دوره 24 ساعته 10.0 دلار است.فرض کنید که هیچ خودرویی هر بار بیش از 24 ساعت توقف نمیکند.برنامه ای بنویسید که مبلغ پرداختی را برای هر یک از سه مشتری که روز گذشته خوردوی خود را در این پارکینگ پارک کرده اند محاسبه وچاپ کند.کاربر باید برای هر مشتری تعداد ساعات توقف را وارد کند.برنامه باید نتایج را به صورت جدول زیر چاپ کند و جمع کا مبالغ قبض های روز گذشته را محاسبه و چاپ کند.این برنامه بایذ برای تعیین مبلغ پرداختی هر یک از مشتری ها از تایعی به نام calculateCharges استفاده کند.خروجی برنامه باید به صورت زیر باشد :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


برنامه:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

حالا سوالات من :
اشکال این برنامه کجاست ؟

برای اینکه خط آخر خروجی بده باید چی کار کنم ؟

اگر بخوایم تابع یه مقداری رو به تابع اصلی برگردونه باید چی کار کنیم؟

sin2x=2sinxcosx
12-02-2010, 17:13
اشکال دستوریش فقط اینه :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
خوب یکی یکی charge رو توسط تابع حساب می کنین و تو یه متغیر می ریزین و آخر سر یکی یکی هر 3 رو چاپ می کنین .

دقیقا به جای اینکه آخر تابع نوشتین return 0 ، اونو پاک کنین و هرجا خواستین مقدار برگردونین با همین return برگردونین . مثلا هر جا خواستین sumch رو برگردونین بنویسین return sumch . دقت کنین که هرجا که داخل یه تابع از return استفاده کردین دیگه اجرای تابع اونجا تموم میشه و به خطوط بعدی نمی ره .

dewdrops
13-02-2010, 12:07
این برنامه چیزی مطابق با خواسته کتاب خروجی نمیده . خروجیش اینطوریه که عدد اول رو میگیره میفرسته به تابع نتیجش چاپ میشه بعد عدد دوم و الی آخر . اما کتب خواسته نتایج یه جا نشون داده بشه البته بدون استفاده از آرایه .
بخاطر همین گفتم بیام از توابع Function Overloading (توابع گرانبار شده ) استفاده کنم که خوب اونم باید از نظر نوع پارامتر تعداد یا ترتیب پارامتر باهم فرق داشته باشن که خوب تو این تمرین همه یکسان بود به خاطر همین مجبور شدماسم توابع رو تغییر بدم و چون گفته بود برای 3 تا ماشین به همین دلیل 3 تا تابع تعریف کردم (خداروشکر که گفته بود برای 3 تا !!!)
حالا برای چاپ جدول :
تو تابع اصلی وقتی ساعت هارو گرفتم همون جا هم مقادیر رو جمع کردم ریختم تو total . برای جمع قسمت charge یه متغیر به اسم sumch تعریف کردم که توی توابع به شکل ارسال با ارجاع ازش استفاده کردم .
راه دیگه ای به نظرم نرسید .

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
---------- Post added at 12:06 PM ---------- Previous post was at 12:05 PM ----------

حالا یه برنامه دیگه ::20:


یکی از کاربردهای تابع floor گرد کردن یک مقدار به نزدیکترین عدد صحیح است. دستور:
Y=floor(x+0.5)
عدد x را به نزدیکترین عدد صحیح گرد کرده و نتیجه را به y انتساب میدهد. برنامه ای بنویسید که چند عدد را از ورودی خوانده و با استفاده از دستور بالا هریک از آنها را به نزدیکترین عدد صحیح گرد کند. برنامه باید برای هر یک از اعداد پردازش شده ، خود عدد اصلی و نیز عدد گرد شده را چاپ نماید.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
این برنامه ای هست که براش نوشتم ، برنامه درست جواب میده اما درست جواب دادن برام ملاک نیست اینکه برنامه رو به شیوه درستش نوشتم یا نه برام مهمه .

لطفا نظر میدید در مورد برنامه .

---------- Post added at 12:07 PM ---------- Previous post was at 12:06 PM ----------


تابع floor را میتوان برای گرد کردن عددی تا تعداد مشخصی رقم اعشار به کار برد.دستور
Y=floor(X*10+.5)/10
مقدار موجود در متغیر x را تا رقم اعشار یک صدم (دومین رقم در سمت راست ممیز)گرد میکند. برنامه ای بنویسید که با تعریف چهار تابع به شکل های زیر عدد number را گرد کند :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

برنامه رو درست نوشتم ؟؟؟چون فقط برای مقادیر اعشاری درست جواب میده و برای مقادیر صحیح اشتباه خروجی میده !!!

dewdrops
14-02-2010, 13:37
چرا کسی راجع به سوالات قبلیم جوابی نمیده :41:

یه سوال دیگه فعلا بپرسم .

تفاوت تابع rand با srand چیه ؟

تو کتاب یه تمرین داده گفته دستوری بنویسید که یکی از اعداد موجود در هر مجموعه را به صورت تصادفی چاپ کند .
اینم مجموعه ها

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

لطفا یه راهنمایی میکنید ؟ باید برای هر کدوم یه enum تعریف کنم ؟؟؟؟؟؟؟؟

sin2x=2sinxcosx
14-02-2010, 16:24
این برنامه چیزی مطابق با خواسته کتاب خروجی نمیده . خروجیش اینطوریه که عدد اول رو میگیره میفرسته به تابع نتیجش چاپ میشه بعد عدد دوم و الی آخر . اما کتب خواسته نتایج یه جا نشون داده بشه البته بدون استفاده از آرایه .
بخاطر همین گفتم بیام از توابع Function Overloading (توابع گرانبار شده ) استفاده کنم که خوب اونم باید از نظر نوع پارامتر تعداد یا ترتیب پارامتر باهم فرق داشته باشن که خوب تو این تمرین همه یکسان بود به خاطر همین مجبور شدماسم توابع رو تغییر بدم و چون گفته بود برای 3 تا ماشین به همین دلیل 3 تا تابع تعریف کردم (خداروشکر که گفته بود برای 3 تا !!!)
حالا برای چاپ جدول :
تو تابع اصلی وقتی ساعت هارو گرفتم همون جا هم مقادیر رو جمع کردم ریختم تو total . برای جمع قسمت charge یه متغیر به اسم sumch تعریف کردم که توی توابع به شکل ارسال با ارجاع ازش استفاده کردم .
راه دیگه ای به نظرم نرسید .

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
---------- Post added at 12:06 PM ---------- Previous post was at 12:05 PM ----------

حالا یه برنامه دیگه ::20:


یکی از کاربردهای تابع floor گرد کردن یک مقدار به نزدیکترین عدد صحیح است. دستور:
Y=floor(x+0.5)
عدد x را به نزدیکترین عدد صحیح گرد کرده و نتیجه را به y انتساب میدهد. برنامه ای بنویسید که چند عدد را از ورودی خوانده و با استفاده از دستور بالا هریک از آنها را به نزدیکترین عدد صحیح گرد کند. برنامه باید برای هر یک از اعداد پردازش شده ، خود عدد اصلی و نیز عدد گرد شده را چاپ نماید.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
این برنامه ای هست که براش نوشتم ، برنامه درست جواب میده اما درست جواب دادن برام ملاک نیست اینکه برنامه رو به شیوه درستش نوشتم یا نه برام مهمه .

لطفا نظر میدید در مورد برنامه .

---------- Post added at 12:07 PM ---------- Previous post was at 12:06 PM ----------


تابع floor را میتوان برای گرد کردن عددی تا تعداد مشخصی رقم اعشار به کار برد.دستور
Y=floor(X*10+.5)/10
مقدار موجود در متغیر x را تا رقم اعشار یک صدم (دومین رقم در سمت راست ممیز)گرد میکند. برنامه ای بنویسید که با تعریف چهار تابع به شکل های زیر عدد number را گرد کند :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برنامه رو درست نوشتم ؟؟؟چون فقط برای مقادیر اعشاری درست جواب میده و برای مقادیر صحیح اشتباه خروجی میده !!!



خب برای گرد کردن میشه این کارو کرد :
مثلا یه double به ما دادن که گرد کنیم . اونو تو یه int ذخیره می کنیم . قسمت اعشاریش از بین میره . حالا اگه اختلاف اون double و int بیشتر از نیم باشه int + 1 رو به عنوان نتیجه چاپ می کنیم و در غیر این صورت int رو .


چرا کسی راجع به سوالات قبلیم جوابی نمیده :41:

یه سوال دیگه فعلا بپرسم .

تفاوت تابع rand با srand چیه ؟

تو کتاب یه تمرین داده گفته دستوری بنویسید که یکی از اعداد موجود در هر مجموعه را به صورت تصادفی چاپ کند .
اینم مجموعه ها

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدلطفا یه راهنمایی میکنید ؟ باید برای هر کدوم یه enum تعریف کنم ؟؟؟؟؟؟؟؟

من متوجه این سوال نشدم اصلا .
تابع rand یه عدد تصادفی ایجاد می کنه و برمیگردونه . ولی این عدد تصادفی ایجاد شده واقعا تصادفی نیست و اگه این تابع رو چند بار اجرا کنین می بینین که دنباله ای تکراری از اعداد تولید میشه . برای اینکه این دنباله هم تصادفی باشه یه مقدار به srand می دیم که به این دنباله مقدار اولیه بده که اونم تصادفی بشه .
مثلا اگه بخوایم اعداد از 1 تا 6 رو به صورت تصادفی ایجاد کنیم میگیم :
rand() % 6 + 1
rand() % 6 از 0 تا 5 ایجاد می کنه که اگه بخوایم از 1 تا 6 باشه + 1 می کنیم .
برا srand اگه بهش ( time ( 0 رو بدیم بهترین حالت تصادفی ایجاد میشه . چون مقدار ( time ( 0 هر لحظخ تغییر می کنه .
((srand ( time (0

dewdrops
14-02-2010, 16:38
sin2x=2sinxcosx سلام.

شما واقعا لطف میکنید که به برنامه هام توجه میکنید و به سوالاتم جواب میدید .ولی یه کم مثل جت از رو سوالام رد میشید به خاطر همین بعضی هاش از زیر دستتون رد میشه ظاهرا.

تو قسمت قبلی من یه سوال دیگه هم کرده بودم :41:
و تو قستم rand و srand بازم آخرش یه سوال مطرح کردم که مربوط میشد به کتاب که راهنمایی خواستم بودم.:20:

sin2x=2sinxcosx
14-02-2010, 17:14
نمی دونم کدوم سوال جا موند .
اگه اینو میگین :
تو کتاب یه تمرین داده گفته دستوری بنویسید که یکی از اعداد موجود در هر مجموعه را به صورت تصادفی چاپ کند .
اینم مجموعه ها
کد:




2, 4, 6, 8, 10.
3, 5, 7, 9, 11.
6, 10, 14, 18, 22.


لطفا یه راهنمایی میکنید ؟ باید برای هر کدوم یه enum تعریف کنم ؟؟؟؟؟؟؟؟


گفتم که متوجه نشدم .

Ar@m
14-02-2010, 20:00
شما سوالاتون رو يه دفه ميپرسين آدم زورش مياد بخونتشون :دي

واسه سوال srand لازم نيست enum تعريف كني
شما يه سري اعداد محدود دارين كه مثلا گروه اول 2، 4، 6، 8، 10 هستن
همونطور كه sin2x=2sinxcosx توضيح داد شما براي ايجاد يه عدد تصادفي بين مثلا 1 تا 6 كافيه از rand() % 6 + 1 استفاده كني
حالا براي اين سوال عدد اول 2 هستش عدد آخر 10 و شما بايد با تابع rand() عددي توليد كني كه اعداد فرد بين 2 تا 10 رو شامل نشه يعني بهترين كار ضرب عدد بدست اومده از تايع rand() در عدد 2 هستش كه يه فاصله ي 2 تايي بين اعداد ايجاد ميكنه
خب مسلمه اگه قرار باشه اعداد در 2 ضرب بشن بازه ي پايين rand() بايد باشه 1 و بالاش هم بايد 5 باشه
يعني فرمولمون ميشه

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
دو مجموعه ي بعدي هم همينطوري حل ميشه

dewdrops
14-02-2010, 20:54
سلام Ar@m.:20:

من جدا جدا فرستادم ولی همشون چون پشت هم میفرستادم چسبیدن بهم و لی با این حال ممنونم که وقت گذاشتید و خوندینشون .

sin2x=2sinxcosx ، یادتون میاد چند ماه پیش یه برنامه میخواستم که ارقام یک عدد رو از هم تفکیک کنه و شما لطف کردید و این برنامه رو برام گذاشتید.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

توی این فصل کتاب خواسته بود که اعداد بین 1 تا 32767 رو حساب کنه و توی نتایج روکه نگاه میکردم متوجه شدم اعدادی مثل 200 فقط 2 چاپ میشه و صفرهای آخر اعداد اصلا چاپ نمیشه .
روش فکر کردم متوجه نشدم که باید چی کارش کنم گفتم بیام از خودتون کمک بگیرم .

sin2x=2sinxcosx
14-02-2010, 21:01
سلام Ar@m.:20:

من جدا جدا فرستادم ولی همشون چون پشت هم میفرستادم چسبیدن بهم و لی با این حال ممنونم که وقت گذاشتید و خوندینشون .

sin2x=2sinxcosx ، یادتون میاد چند ماه پیش یه برنامه میخواستم که ارقام یک عدد رو از هم تفکیک کنه و شما لطف کردید و این برنامه رو برام گذاشتید.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدتوی این فصل کتاب خواسته بود که اعداد بین 1 تا 32767 رو حساب کنه و توی نتایج روکه نگاه میکردم متوجه شدم اعدادی مثل 200 فقط 2 چاپ میشه و صفرهای آخر اعداد اصلا چاپ نمیشه .
روش فکر کردم متوجه نشدم که باید چی کارش کنم گفتم بیام از خودتون کمک بگیرم .


اجازه دارم از STL و اینا استفاده کنم ؟
یا حداقل از آرایه ها ؟

sin2x=2sinxcosx
14-02-2010, 21:05
اگه می تونم این یه نسخه برنامه که با لیست پیوندی نوشتم :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

sin2x=2sinxcosx
14-02-2010, 21:47
بدون استفاده از STL چیزی دیگه ای فعلا به ذهنم نمی رسه . مشکل اینه که عددی مثل 01 رو نمیشه تو int ذخیره کرد .
یه برنامه ساده تر با int و اینا نوشتم که باز هم اون مشکل قبلی که گفتین توش هست :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

این برنامه رو هم با رشته ها نوشتم که درسته :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

ati_1991
14-02-2010, 22:54
سلام
چه جوری میتونم یه Data Structure بسازم که بتونم باهاش شبیه link list تو اطلاعات یه فایل( که شبیه یه جدوله و زیر مینویسمش) به سمت بالا و پایین و چپ و راست حرکت کنم؟

اطلاعات فایل:( مثلا با 5 سطر و 6 ستون)

******
* * * *
*** * *
* * * *
******
میخوام اطلاعاتمو تو linklistای که قرار ساخته شه بریزم و با نوشتن مثلا node=node->up یه سطر برم بالا.

شنیدم باید structure بسازم و توش pointer های next* و up* و down* و left* و right* بزارم.
مرسی:11:

sin2x=2sinxcosx
14-02-2010, 23:18
سلام
چه جوری میتونم یه Data Structure بسازم که بتونم باهاش شبیه link list تو اطلاعات یه فایل( که شبیه یه جدوله و زیر مینویسمش) به سمت بالا و پایین و چپ و راست حرکت کنم؟

اطلاعات فایل:( مثلا با 5 سطر و 6 ستون)
میخوام اطلاعاتمو تو linklistای که قرار ساخته شه بریزم و با نوشتن مثلا node=node->up یه سطر برم بالا.

شنیدم باید structure بسازم و توش pointer های next* و up* و down* و left* و right* بزارم.
مرسی:11:

جالب بود .
تو حالت معمولی که لیست تک پیوندی می نویسیم کلاس Node مون یدونه اشاره گر next داره که به عضو بعدیش میره . اینجا هم up و down و left و right و برای Node می ذاریم و دو تا int که موقعیت سطر و ستون نودمون رو تو جدول نشون میده . تو Constructure لیستمون به تعداد سطر ها لیست تک پیوندی ایجاد می کنیم مثلا تو مثال شما 5 تا . بعد اگه قراره از یه نودی به نود پایین بریم چون موقعیت ستونش و سطرشو می دونیم میگیم برو سطر + 1 و به تعداد همون ستون توسط Iterator برو جلو که بهش برسی .

ati_1991
14-02-2010, 23:27
جالب بود .
تو حالت معمولی که لیست تک پیوندی می نویسیم کلاس Node مون یدونه اشاره گر next داره که به عضو بعدیش میره . اینجا هم up و down و left و right و برای Node می ذاریم و دو تا int که موقعیت سطر و ستون نودمون رو تو جدول نشون میده . تو Constructure لیستمون به تعداد سطر ها لیست تک پیوندی ایجاد می کنیم مثلا تو مثال شما 5 تا . بعد اگه قراره از یه نودی به نود پایین بریم چون موقعیت ستونش و سطرشو می دونیم میگیم برو سطر + 1 و به تعداد همون ستون توسط Iterator برو جلو که بهش برسی .

مرسی. ولی کامل نفمیدم :(
Constructure چیه؟ یعنی کجا لیست تک پیوندی ایجاد کنم؟
آخه تعداد سطرام متغیره و کاربر قبلا اونا رو بم میده. حالا چه جوری به تعدادش لیست ایجاد کنم؟

یه کوچولو از structura شو میشه واسم بنویسید؟:43::11:

sin2x=2sinxcosx
15-02-2010, 01:04
مرسی. ولی کامل نفمیدم :(
Constructure چیه؟ یعنی کجا لیست تک پیوندی ایجاد کنم؟
آخه تعداد سطرام متغیره و کاربر قبلا اونا رو بم میده. حالا چه جوری به تعدادش لیست ایجاد کنم؟

یه کوچولو از structura شو میشه واسم بنویسید؟:43::11:


تقریبا من این طوری تجسم کرده بودم که البته کامل نیست :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Ar@m
15-02-2010, 01:45
بدون استفاده از STL چیزی دیگه ای فعلا به ذهنم نمی رسه . مشکل اینه که عددی مثل 01 رو نمیشه تو int ذخیره کرد .
یه برنامه ساده تر با int و اینا نوشتم که باز هم اون مشکل قبلی که گفتین توش هست :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید



با اين تغيير برنامه درست ميشه:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

dewdrops
15-02-2010, 16:05
اول تا یادم نرفته باید بگم که خیییییییییییییلی کارتون درسته .


يعني فرمولمون ميشه

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
دو مجموعه ي بعدي هم همينطوري حل ميشه

تابه rand همانطور که دوستمون فرمودند یه سری تکراری عدد تو لید میکنه که اگر بخوایم randomaize عدد تولید کنه باید از srand استفاده کنیم.

ولی خیلی مسلم هست که اگر بخوام srand رو تو این دستور بجای rand بذارم ارور میده . درسته ؟ چون امتحان کردم. پس چطور باید این دستوررو تو این تمرین استفاده کنم.

و سوال دوم اینکه :

sin2x=2sinxcosx شما ضمن توضیحاتتون در رابطه با این دستورات فرمودید که بهتر برای srand بنویسیم
srand(time(0)) اما ارور میده :41:
error C3861: 'time': identifier not found

ارور برای چیه ؟ باید #include خاصی رو بذارم اول برنامه ؟؟؟؟؟؟

Ar@m
15-02-2010, 19:02
سلام
من سوال خودم و sin2x=2sinxcosx رو يك جا توي اين مثال جواب ميدم:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

dewdrops
17-02-2010, 11:00
آقا یه سوال دیگه در رابطه با این دستورات بپرسم ؟:20:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


بار اول که این برنامه رو اجرا میکنیم یه سری مقادیر غیر تکراری تولید میکنه اما مجددا که برنامه اجرا میشه همون مقادیر رو تولید میکنه . این درست مشکلی نیست اما یه سوال اینکه از کجا میدونه که قبلا چی تولید کرده که باز مجددا همونا رو تولید میکنه ؟؟؟؟:19:
و من اینطور از srand برداشت کردم که میاد مقادیر قبلی که توسط rand تولید شده رو از بین میبره و به خاطر همین هست که مقادیر متفاوتی تولید میشه . درسته ؟؟؟؟؟

sin2x=2sinxcosx
17-02-2010, 12:07
آقا یه سوال دیگه در رابطه با این دستورات بپرسم ؟:20:


نه ! :31:
آقا گفتیم که از srand استفاده کن .
این آرگومانی که به srand پاس میشه اگه هی متغیر باشه این دنباله اعداد تصادفی تولید شده هم تصادفی خواهند بود .
راستی ایشون لازم نیس بدونن قبلا چی تولید کرده بودن . چون یه دنباله مشخص که با آرگومانی که به srand پاس شده مقداردهی اولیه می شه ، رو تولید می کنه .

dewdrops
21-02-2010, 10:50
آقا :31: شرمنده من اين چند وقت نتونستم بيام سايت ومتاسفانه تا مدتها نيز وضع من به همين شكل خواهد بود و مجبورم كه سوالامو با هم بپرسم و پيشاپيش جدا جدا از شما دو دوست محترم معذرت خواهي ميكنم چون ميدونم كه براي شما نيز زحمت خواهد شد اگر مايل باشيد به من در رابطه با سوالاتم كمك كنيد.

امااااااا

من اين دستورات رو فهميدم اما عملكردشئن رو هنوز درك نكردم .:19:

Ar@m
21-02-2010, 15:08
اعدادي كه تابع rand توليد ميكنه شايد بنظر تصادفي بيان اما در اصل اينطور نيست. اين تابع بوسيله ي يك الگوريتم يه دنباله از اعداد رو توليد ميكنه و با هربار اجراي برنامه همون ها رو نشونمون ميده
حالا تابع srand مياد نقطه ي شروع اين دنباله رو تغيير ميده درنتيجه اعدادي كه توليد ميشن بيشتر حالت تصادفي به خودشون ميگيرن
اون چيزي كه من خودم واسه خودم مثال ميزدم كه بفهمم اين بود كه مثلا rand مياد اين اعداد رو توليد ميكنه:
2 6 9 4 7 3 2 0 1 5 8 ...
اگه صدبار هم برنامه رو اجرا كنيم چون نقطه ي شروع 2 هستش عدد دوم هم 6 هستش و تا آخر.
حالا srand مياد نقطه ي شروع اين سري رو هربار به تصادف انتخاب ميكنه. پس اگه نقطه ي شروع بجاي 2 بشه 4 دنباله به صورت زير تغيير ميكنه:
4 7 3 2 0 1 5 8 ...
و اگه نقطه ي شروع بشه 0 دنباله ميشه:
0 1 5 8...

dewdrops
24-02-2010, 13:16
برنامه اول: برنامه ای بنویسید که مشخص کند آیا پارامتر number یک عدد کامل است یا خیر.با استفاده از این تابع برنامه ای بنویسید که همه اعداد کامل بین 1 تا 100 را بدست آورده و در خروجی چاپ کند.مقسوم علیه های هر یک از اعداد کامل را نیز چاپ کند تا مطمئن شوید که عدد مزبور واقعا یک عدد کامل است.مهارت برنامه نویسی خود را با آزمایش اعداد بزرگتر از 1000 امتحان کنید.


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدسوال 1 : بالاخره تو هر دفعه تکرار حلقه باید مقداری به متغیر اضافه شه و در نهایت میتونیم بگیم این عدد کامل هست یا نه . ولی تو صورت مساله خواسته مقسوم علیه ها رو هم باید چاپ کنیم. اگر تو این دستور if (num%i==0) ، بخوایم اون عدد رو چاپ کنیم ممکنه در نهایت عدد ما کامل نباشه و این وسط ممکنه مقسوم علیه های اعداد غیر کامل هم چاپ بشه و صورت مساله خواسته مقسوم علیه های عدد اول رو چاپ کنه . باید چی کار کنم باید دو تا تابع تعریف کنم که اول کامل بودن رو بررسی کنه اگر کامل بود بفرسته توی تابع دیگه که مقسوم علیه هاشو چاپ کنه ؟؟؟؟ که خب اینجوری دوباره کاری میشه .

سوال 2: منظور از قسمت آخر سوال چی هست ؟ از لحاظ بهینگی برنامه این سوال رو گفته اگر بله چطوری باید این برنامه رو بهینه کنم؟ البته میدونید خود برنامه ، نوشتنش راحته ولی من توی ریزه کاریاش مشکل دارم

برنامه 2:
برنامه ای بنویسید که پرتاب سکه را شبیه سازی کند برنامه باید برای هر بار پرتاب کلمه heads یا tail را چاپ کند.برنامه را برای 100 بار پرتاب سکه بنویسید و تعداد دفعاتی را که هر یک از دو روی سکه می آید شمرده و نتیجه را چاپ کنداین برنامه باید تابع دیگری به نام flip را فراخوانی کند.این تابع هیچ آرگومانی را دریافت نمیکند و برای خط( tail) عدد 0 و برای شیر(head) عدد 1 را باز گرداند.]نکته:اگر برنامه عمل پرتاب سکه را مطابق با واقعیت شبیه سازی کند،وقوع هر یک از دو روی سکه باید تقریبا برابر با نیمی از تعداد پرتاب ها باشد.[


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

سوال 1: برنامه رو درست نوشتم ؟دقیقا نمیدونم مشکلش چیه که یا همه رو tail میده یا همه رو head .البته برای گرفتن جواب متفاوت این دوتا باید برنامه چند بار اجرا کنیم.!
سوال 2:(امان از دست این rand ) برای تولید عدد بین 0و1 باید این دستوررو چطوری بنویسم؟







برنامه 3:
این برنامه جواب 3 تمرین توام با همدیگه هست .یعنی تو تمرین اول یه کار خواسته بود و تو تمرین های بعدی خواسته بود که اجزای دیگه ای رو به برنامه اضافه کنیم .
حالا برنامه از این قرار هس:
برنامه ای بنویسید که دانش آموزان ابتدایی را در فراگیری جدول ضرب کمک نماید. این برنامه با استفاده از تابع rand دو عدد صحییح یک رقمی تولید کرده و سوالی به صورت زیر چاپ کند:

Haw much is 6 times 7?

اگر جواب درست بود باید یه پیغام میداد اگر غلط بود یه جواب دیگه .و خواسته شده بود برنامه تعداد پاسخ های درست و نادرست رو بشماره .پس از آنکه دانش آموز 10 پاسخ را وارد کرد ،برنامه باید درصد پاسخ های درست رو محاسبه کند.اگر این درصد کمتر از 0.75 بود ، برنامه باید پیغام please ask your instructor for extra help را در خروجی چاپ کند و به کار خود پایان دهد.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

سوال1:چرا مقدار result فقط صفر چاپ میکنه؟؟؟

vurhorston
27-02-2010, 22:51
سلام
دوستان میشه بگید این دستور چه نقشی تو برنامه داره؟

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدکل برنامه:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

dewdrops
28-02-2010, 12:48
سلام
دوستان میشه بگید این دستور چه نقشی تو برنامه داره؟

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدکل برنامه:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

ببين توي كلاسها براي ريختن يه مقدار داخل متغير از تابع set و براي استفاده از اون مقدار بايد از تابع get استفاده كنيم و درواقع اينطوري براي خودمون مشخص ميكنيم كه هر تابعي كه تعريف كرديم داره چي كار ميكنه. و اگر اشتباه نكنم بايد اسم تابع رو بنويسيد يعني اين طوري :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
كه تابع فراخواني بشه و بعد مقدارش برگردونده بشه و درنهايت چاپ بشه.

dewdrops
28-02-2010, 12:58
sin2x=2sinxcosx/Ar@m:41::37:

من كه عرض كرده بودم كه فعلا نميتونم بيام و هر سري كه دسترسي پيدا ميكنم به سايت مجبورم چند تا سوال با هم بپرسم.

تازه من كه رنگي هم نوشتم:20: كه خيلي هم خسته كننده نباشه .:20:خوب مشكل چي بود كه دوست نداشتيد كمك كنيد .:37:

#joker#
01-03-2010, 00:10
براي سوال اولتون اينو من نوشتم.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

dewdrops
01-03-2010, 09:16
#joker#
لطفا از آرایه استفاده نکنید.:20:

vurhorston
01-03-2010, 14:50
ببين توي كلاسها براي ريختن يه مقدار داخل متغير از تابع set و براي استفاده از اون مقدار بايد از تابع get استفاده كنيم و درواقع اينطوري براي خودمون مشخص ميكنيم كه هر تابعي كه تعريف كرديم داره چي كار ميكنه. و اگر اشتباه نكنم بايد اسم تابع رو بنويسيد يعني اين طوري :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدكه تابع فراخواني بشه و بعد مقدارش برگردونده بشه و درنهايت چاپ بشه.

نه نه
منظور منو متوجه نشدید (در واقع من بد نوشتم:27:)
منظور من خود دستور :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

vurhorston
01-03-2010, 15:58
راستی یه سوال دیگه:D

این برنامه اشتباهه؟


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

---------- Post added at 03:58 PM ---------- Previous post was at 03:54 PM ----------

این ارور رو میده:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Ar@m
02-03-2010, 21:56
سرم شلوغ بود پس فردا ميام جواب ميدم

sin2x=2sinxcosx
02-03-2010, 23:21
راستی یه سوال دیگه:D

این برنامه اشتباهه؟


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

---------- Post added at 03:58 PM ---------- Previous post was at 03:54 PM ----------

این ارور رو میده:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


این که برنامه نیست . یه هدر هست . برنامه کامل رو بذارین .

ati_1991
03-03-2010, 18:30
سلام SDL چیه و چجوری باید ازش استفاده کرد؟
فقط به ما گفتن یه سری دستورات باش بنویسیم و بازی mario رو باش بنویسیم!!
میشه یکم کمک کنید؟

vurhorston
03-03-2010, 20:28
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

dewdrops
04-03-2010, 15:43
سرم شلوغ بود پس فردا ميام جواب ميدم

جواب سوالای منو ؟؟؟؟؟؟؟؟؟ :31:
vurhorston


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

dewdrops
04-03-2010, 15:48
vurhorston
برای سوالی که پرسیده بودید:

این دستور دقیقا مقداری که توسط تابع set داخل cursename ریخته بودید برمیگردونه یا به عبارتی return میکنه .

vurhorston
04-03-2010, 23:59
نه بورلند لازم نداره using namespace std
برنامه هم اجرا نشد:41:

Ar@m
05-03-2010, 00:19
جواب سوالای منو ؟؟؟؟؟؟؟؟؟ :31:


آره :دي

درمورد سوال اول فكر نميكنم چاره ي ديگه اي جز دوباره كاري باشه. بخصوص اينكه نميخواي از آرايه استفاده كني
اينكه در مورد بهينه سازي برنامه هم صحبت كرده اصلا نظري ندارم اساتيد بيان نظر بدن

سوال دوم مشكل محل قرارگيري تابع srand هستش كه غلطه. اينطوري درست ميشه:



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

و بقيه برنامه مشكلي نداره

سوال سوم هم مشكل دو تاست. يكي i هستش كه بعد از خروج از حلقه مقدارش 6 شده و وقتي توي مخرج ميذاري عدد اشتباه بهت ميده. ديگه تعريف result بصورت double اما تعريف sum_tru و sum_fals و i كه در مخرج و صورت هستن بصورت عدد صحيحه. حداقل يكي از اين سه تا عدد بايد double تعريف بشه كه شما همشون رو int تعريف كردي

dewdrops
08-03-2010, 10:49
نه بورلند لازم نداره using namespace std
برنامه هم اجرا نشد:41:

ببخشید که شما به جواب سوالاتتون دیر میرسید .

خب من به شما شدیدا پیشنهاد میکنم که از ویژوال استودیو 2005 استفاده کنید چون برنامه نوشتن باهاش خیلی راحته .

راستش من بورلند رو نداشتم که کد هارو اونجا اجرا کنم .

شروع کنید به استفاده از این نرم افزار و اگر به مشکل مشابه مشکلات من برخورد کردید به صفحات اولیه همین تاپیک مراجعه کنید و اونارو برطرف کنید .

dewdrops
08-03-2010, 11:01
sin2x=2sinxcosx

میتونم از شما خواهش کنم مقاله ای که در رابطه با ساخت پروژه توی vs نوشته بودید رو تو این تاپیک هم قرار بدید .من خودم قبلا از تو یکی از پست های شما دانلود کردم :20:ولی مجددا هر چی گشتم پیداش نکردم که لینکش رو بذارم .

sin2x=2sinxcosx
08-03-2010, 16:05
sin2x=2sinxcosx

میتونم از شما خواهش کنم مقاله ای که در رابطه با ساخت پروژه توی vs نوشته بودید رو تو این تاپیک هم قرار بدید .من خودم قبلا از تو یکی از پست های شما دانلود کردم :20:ولی مجددا هر چی گشتم پیداش نکردم که لینکش رو بذارم .

امر بفرمایید : :20:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

dewdrops
12-03-2010, 18:58
sin2x=2sinxcosx
سلام. واقعا لطف کردید.ممنونم.

بالاخره رسیدم به فصل آرایه ها :20:
برنامه1:این مساله را با استفاده از آرایه یک بعدی حل کنید:برنامه ای بنویسید که 20 عدد در محدوده ی 10 تا 100 را بخواند، و پس از هر بار خواندن ، تنها در صورتی که این عدد قبلا خوانده نشده باشد ، آن را در ارایه ای ذخیره کند .که برای این قسمت این برنامه رو من نوشتم :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

حالا سوال من از اینجا هست که گفته :
پس از خواندن همه مقادیر ،تنها مقادیر منحصر به فردی را که کاربر وارد کرده است ،چاپ کند.این مساله را برای بدترین حالت که در آن هر 20 عدد متفاوت هستند ، حل کنید.برای حل این مساله ،از کوچکترین آرایه ممکن استفاده کنید .

سوال1 : منظورش از این تیکه سوال چیه؟

برنامه ای بنویسید که ریختن دو تاس را شبیه سازی کند این برنامه باید برای ریختن دو تاس دوبار ازتابع rand استفاده کند.(یک بار برای تاس اول و یک باربرای تاس دوم).سپس مجموع این دو مقدار محاسبه شود.برنامه شما باید دوتاس را 36000 بار بریزد.با استفاده از آرایه یک بعدی ، تعداد دفعاتی را که هر یک از مجموعه های ممکن ، پیش می آیند ثبت کرده و نتایج را به شکل جدولی چاپ کنید.که این برنامه رو نوشتم.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

سوال1 : بعد خواسته تعیین کنید که آیا تعداد مجموعه های حاصله معقول است یا خیر.(مثلا به 6 طریق ،مجموع 7 حاصل میشود پس تقریبا یک ششم همه پیشامد ها باید 7 باشد.).

dewdrops
15-03-2010, 14:15
(سیستم رزرو بلیط شرکت هواپیمایی)یک شرکت کوچک هواپیمایی به تازگی برای خودکار کردن سیستم رزرو بلیط خود ، کامپیوتری خریداری کرده است.از شما درخواست شده است که برنامه این سیستم جدید را بنویسید.برنامه شما باید برای هر پرواز هواپیما این شرکت (باظرفیت 10 نفر)جا اختصاص بدهد.این برنامه باید فهرستی از گزینه های زیر را نمایش دهد:
Please Type 1 for “First Class”
Please Type 2 for “Economy”
در صورتی که فرد ،عدد1 را وارد کند ،برنامه باید یکجا در بهترین مکان (first class) (صندکی های 1تا5) و در صورتی که عدد 2 را وارد کند ،یکجا در قسمت اقتصادی (Economy) (صندلی های 6 تا 10 ( اختصاص دهد.برنامه باید بلیطی چاپ نماید که اولا حاوی شماره صندلی وثانیا مشخص کند که در کدامیک از دو بخش First Class یا Economy قرار دارد.
برای نمایش صندلی های هواپیما از یک آرایه یک بعدی استفاده کنید. مقدار اولیه همه عتاصر این آرایه را برابر با صفر قرار دهید تا مشخص شود که همه صندلی ها خالی هستند.هر گاه یک جا اختصاص داده میشود ، عنصر متناظر با آن را 1 کنید تا مشخص شود که این صندلی دیگر خالی نیست.


البته بدیهی است که این برنامه ، هیچ کاه نباید جایی را که قبلا رزرو شده است به کسی اختصاص دهد.هنگامی که در بخش First Class پر شده باشد، برنامه باید از کاربر سوال کند آیا اختصاص جا در بخش Economy مورد قبول وی می باشد یا خیر (و برعکس).اگر قابل قبول است یک جای مناسب اختصاص دهد و گرنه پیغام زیر چاپ شود:
“next flight leaves in 3 hours.”


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

میتونم خواهش کنم اگر راه بهتری برای نوشتن این برنامه در نظر دارید ، بهم بگید. چون احساس میکنم خیلی خوب ننوشتمش .

#joker#
15-03-2010, 21:45
برنامه ي شما ظاهرن:5: يه حلقه ي بي نهايت داره.من اينطور نوشتم:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Ar@m
16-03-2010, 18:26
حالا سوال من از اینجا هست که گفته :
پس از خواندن همه مقادیر ،تنها مقادیر منحصر به فردی را که کاربر وارد کرده است ،چاپ کند.این مساله را برای بدترین حالت که در آن هر 20 عدد متفاوت هستند ، حل کنید.برای حل این مساله ،از کوچکترین آرایه ممکن استفاده کنید .

سوال1 : منظورش از این تیکه سوال چیه؟

منظور سوال رو بد فهميدي و برنامه رو اشتباه نوشتي.
تو نبايد انقدر ادامه بدي كه كاربر 20 عدد متفاوت بهت بده بلكه بايد فقط متفاوت ها رو ذخيره كني.
يعني اگه بعد از 20 بار وارد شدن عدد ،كاربر 15 تا 2 وارد كرده بود و مثلا 4 تا 80 و يه دونه 50 ذخيره هاي تو يك 2 و يك 80 و يك 50 بايد باشن و تمام

منظورش از اين قسمت سوال اينه كه مثلا 10 عددي كه كاربر وارد كرده اينا باشن:
22 -34- 56-8-22-76-56-10-8-4
اعداد 22 و 56 و 8 تكرار شدن پس اعدادي كه بايد نشون بدي توي خروجي اعداد ديگه منهاي اينا هستن.



سوال1 : بعد خواسته تعیین کنید که آیا تعداد مجموعه های حاصله معقول است یا خیر.(مثلا به 6 طریق ،مجموع 7 حاصل میشود پس تقریبا یک ششم همه پیشامد ها باید 7 باشد.).
كافيه احتمال وقوع هر مجموع رو حساب كني مثلا همونطور كه گفتي براي عدد 7 اين احتمال يك ششمه پس اگه عدد مجموع 7 رو 6 برابر كنيم بايد يه عددي نزديك به 100 بشه يعني مجموع پرتاب هات. و اگه واسه تمام اعداد 2 تا 12 (11 عدد ) اين احتمال رو جمع كنيم عدد بدست اومده بايد نزديك 100*11 بشه يعني 1100.
مثلا فرض كن احتمال اومدن مجموع 1و1 يك در 36 هستش يعني ميشه اينطور گفت كه چون از 36 بار پرتاب 1 بار اومده از 100 بار تقريبا بايد 2 يا 3 بار بياد.
فك كنم يه ذره بد توضيح دادم گند زدم به سوال !



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

iammahdi
17-03-2010, 20:51
با سلام ...
من می خوام یه برنامه بنویسم که مثلا" دو تا عدد از کاربر بگیره و در یه آرایه قرار بده و خونه دوم آرایه رو چاپ کنه ؛ اینم بگم که من حدود دو هفتس که دارم با ++ C کار می کنم بنابراین نگین که چرا از آرایه ی پویا و بقیه موارد کار نکردی ، مواد لازمم همین فور و وایل و ایف و ایناست !!!

تو این کدی که من نوشتم ، به جایی که 8 رو چاب کنه 56 رو چاب می کنه ( این 56 کد اسکیشه دیگه ؟ اگه این جور باشه باید مثل ویژال که از تابع char استفاده می شد تو سی هم همین مدلیه اگه هست ، چی می خواد ؟) .
عکس کد رو گذاشتم ، کدش هم گذاشتم .
ممنون از همه ی اساتید ...



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

dewdrops
04-04-2010, 09:24
برنامه ي شما ظاهرن:5: يه حلقه ي بي نهايت داره.من اينطور نوشتم:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

من متاسفانه نرسیدم که این مدت اخیر به جواب هایی که لطف کرده بودید داده بودید ، جواب بدم.

#joker#

کجای برنامه من دچار حلقه بی نهایت میشه ، هر چی گشتم متوجه نشدم .چون به هر صورت یه نقطه پایان برای هر قسمت تعریف کردم.

ar@m


كافيه احتمال وقوع هر مجموع رو حساب كني مثلا همونطور كه گفتي براي عدد 7 اين احتمال يك ششمه پس اگه عدد مجموع 7 رو 6 برابر كنيم بايد يه عددي نزديك به 100 بشه يعني مجموع پرتاب هات. و اگه واسه تمام اعداد 2 تا 12 (11 عدد ) اين احتمال رو جمع كنيم عدد بدست اومده بايد نزديك 100*11 بشه يعني 1100.
مثلا فرض كن احتمال اومدن مجموع 1و1 يك در 36 هستش يعني ميشه اينطور گفت كه چون از 36 بار پرتاب 1 بار اومده از 100 بار تقريبا بايد 2 يا 3 بار بياد.
فك كنم يه ذره بد توضيح دادم گند زدم به سوال !


من اینطور از توضیحاتتون برداشت کردم که یه بار احتمال اومدن تاس ها رو در 36 حساب میکنیم یه بار در 100 .

اما این فرمول هایی که توی کدتون استفاده کرده بودید رو متوجه نشدم بر اساس چه منطقی بدست آوردین.:19:

میتونم خواهش کنم نظرتون رو هم راجع به سیستم رزرو هم بهم بگید.:20:

dewdrops
04-05-2010, 09:37
سلام.
دوستان تو مساله مربوط به برزدن کارتها این تیکه از برنامه رو که با قرمز مشخص کردم متوجه نمیشم. لطفا این یه تیکه از برنامه روشفاف برام توضیح میدین .



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

lebesgue
06-05-2010, 20:15
سلام
من میخوام یک دستور همینطور انجام بشه تا زمانی که کاربر یک کلیدی رو فشار بده.
چطوری باید بنویسم؟
اینطوری که مینویسم کار نمیکنه:
.
.
.
while(!getch()){dastoorat
}

taia
06-05-2010, 23:11
سلام
من میخوام یک دستور همینطور انجام بشه تا زمانی که کاربر یک کلیدی رو فشار بده.
چطوری باید بنویسم؟
اینطوری که مینویسم کار نمیکنه:
.
.
.
while(!getch()){dastoorat
}

ببینید به طور عادی در C و C++ کامپایلر ها توجهی به کیبورد و دیگر دستگاههای ورودی ندارند.
در کدی که شما گذاشتید، در واقع شما سیستم را ملزم کردید به اینکه هر باز از کاربر ورودی بگیرد، اگر کاربر ورودی وارد کرد برنامه بسته شود، یا لوپ شما بسته شود، که خوب این خود نیازمند وارد کردن دیتا توسط کاربر هست.
اما راه حل:
استفاده از تابعی به نام _kbhit() و در لایب conio.h برای مثال برنامه ی زیر رو ببینید:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

lebesgue
07-05-2010, 11:07
دست شما درد نکنه, خیلی ممنون.
من خلاصه ترش رو نوشتم و جواب داد:
.
.
.
while(!kbhit()){dastoorat
{

TURBO_BOY2006
10-05-2010, 16:09
سلام دوستان.

کسی میتون راهنمایی کنه چطور این سوالو حل کنم(برنامه رو میخوام)

برنامه ای بنویسید که n عدد را از ورودی دریافت کند و تعداد اعداد اول را شمرده و چاپ کند.

هر کاری میکنم نمیتونم حلش کنم.

#include <iostream.h>
int main()
{
int n,a,r,p,i,j,c;
i=2;
j=1;
p=0;
cout<<"tedate adadhaye shoma = ";
cin>>n;
while (j<=n)
{
cout<<"adade avale shoma";
cin>>a;
c=(a/2);
if (i<c)
{
r=a mod i;
if(r==0)
j=j+1;
else
i=i+1;
}
else
p=p+1;
cout<<p;
return 0;
}
نمیدونم چرا.شرط های تو در تو داده که من قاطی کردم.
r=a mod i; رو میگه Statement missing ;
و به } آخر هم گیر میده میگه Compound statement missing }
ممنون میشم کمک کنید.

taia
10-05-2010, 19:05
سلام دوستان.

کسی میتون راهنمایی کنه چطور این سوالو حل کنم(برنامه رو میخوام)

برنامه ای بنویسید که n عدد را از ورودی دریافت کند و تعداد اعداد اول را شمرده و چاپ کند.

هر کاری میکنم نمیتونم حلش کنم.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
نمیدونم چرا.شرط های تو در تو داده که من قاطی کردم.
r=a mod i; رو میگه Statement missing ;
و به } آخر هم گیر میده میگه Compound statement missing }
ممنون میشم کمک کنید.

به نظر من لاجیک برنامتون کلا مشکل داره.
اما در مورد مشکلاتی که گفتید:
اول: mod دستور شناخته شده ای در C++ نیست، شما باید از % استفاده کنید مثلا 5 % 6
دوم: خیلی ساده بشمارید، شما 3 بار باز کردید، در حالی که فقط 2 بار بستید، که خوب مشخصا یک } کم هست دیگه!

TURBO_BOY2006
10-05-2010, 20:11
به نظر من لاجیک برنامتون کلا مشکل داره.
اما در مورد مشکلاتی که گفتید:
اول: mod دستور شناخته شده ای در C++ نیست، شما باید از % استفاده کنید مثلا 5 % 6
دوم: خیلی ساده بشمارید، شما 3 بار باز کردید، در حالی که فقط 2 بار بستید، که خوب مشخصا یک } کم هست دیگه!

سلام
ممنون.

به نظر من لاجیک برنامتون کلا مشکل داره.:41:.هان؟یعنی چی؟
میشه این برنامه رو واسم بذارید.
من چند ساعته دارم سعی میکنم ولی موفق نشدم.
اگه میشه خودتون واسم بذارید.
ممون.:11:

TURBO_BOY2006
10-05-2010, 21:22
یکی اینو بذاره .
میخوامش.........
برنامه ای بنویسید که n عدد را از ورودی دریافت کند و تعداد اعداد اول را شمرده و چاپ کند.

taia
11-05-2010, 09:34
سلام
ممنون.
:41:.هان؟یعنی چی؟
میشه این برنامه رو واسم بذارید.
من چند ساعته دارم سعی میکنم ولی موفق نشدم.
اگه میشه خودتون واسم بذارید.
ممون.:11:

البته من نمی دونم آیا این با قوانین اینجا درست هست یا نه، ولی برنامه باید اینطور باشه.
تست کنید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

sin2x=2sinxcosx
11-05-2010, 14:31
اگه منظورتون این بود که عدد رو بگیره و اعداد اول کوچکتر از اون رو بشماره برنامه اش این میشه :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

mohsen_blid
11-05-2010, 16:05
دوستان کسی می تونه در رابطه با استراکچر ها و کاربردش و نوع تعریفش کمک کنه
ممنون میشم

p d
12-05-2010, 09:53
سلام.

فك كنم بهترين راه بررسي سورس باشه.



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

dewdrops
19-05-2010, 11:53
برنامه ای بنویسید که ریختن دو تاس را شبیه سازی کند این برنامه باید برای ریختن دو تاس دوبار ازتابع rand استفاده کند.(یک بار برای تاس اول و یک باربرای تاس دوم).سپس مجموع این دو مقدار محاسبه شود.برنامه شما باید دوتاس را 36000 بار بریزد.با استفاده از آرایه یک بعدی ، تعداد دفعاتی را که هر یک از مجموعه های ممکن ، پیش می آیند ثبت کرده و نتایج را به شکل جدولی چاپ کنید.اینو قبلا برنامشو با دوستان توی یکی دو تا پست قبلی نوشتیم که خب من خیلی متوجه راه حل نشدم . ولی خود آقای دایتل این مسئله رو اینجوری حل کردن .به نظر شما چرا آرایه ی expected رو اینجوری مقدار دهی کرده ؟ چرا از هر کدوم مقادیر 2 بار استفاده کرده ولی از 6 یک بار ؟؟؟



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

memolh
22-05-2010, 19:34
salam man so@li dastam va javbe on ra hamin alan mikham age lotfkonid bedin mamnon misham....barname benevisid ba estefade az dastore array va string yek reshte hc vorodi bekhanid be entehaye reshte@ ezafe konid

saeid58a
23-05-2010, 17:05
سلام دوستان کمک
برنامه ای بنویسید به عنوان حقوق کارمند اگر بالای 500باشه 10درصدمالیات و7درصد بیمه کم شه اگه حقوق بین 300 تا 500 باشه 7درصد مالیات و 5 درصد بیمه و اگر حقوق زیر 300 باشه 5درصد مالیات و3 درصد بیمه کسر شه خالص دریافتی بهمون بده ممنون میشم

TURBO_BOY2006
30-05-2010, 19:49
سلام دوستان

میخوام بدونم چرا بورلند به
cin>>a[i][j]
گیر میده میگه Invalid indirection ؟:13:


#include <iostream.h>
int M(int a,int b)
{
int M[100],i,j;

for (i=1;i<=a;i++)
{ for (j=1;j<=b;j++)
cin>>a[i][j];
}

return M[100];
}

TURBO_BOY2006
30-05-2010, 20:18
سلام دوستان

میخوام بدونم چرا بورلند به
cin>>a[i][j]
گیر میده میگه Invalid indirection ؟:13:


#include <iostream.h>
int M(int a,int b)
{
int M[100],i,j;

for (i=1;i<=a;i++)
{ for (j=1;j<=b;j++)
cin>>a[i][j];
}

return M[100];
}

آه...:31:
چه اشتباهی...ببخشید.:46:
باید اینو مینوشتم:

#include <iostream.h>
int Mat(int a,int b)
{
int M[100][100];
int i,j;
for (i=1;i<=a;i++)
{ for (j=1;j<=b;j++)
cin>>M[i][j];
}
return M[100][100];}

TURBO_BOY2006
08-06-2010, 18:33
سلام

من دارم یه برنامه مینویسم یه جاش رو گیر کردم : ضرب ماتریس n*n که باید ماتریس ها تو یه تابع فراخونی بشه.

دوستان راهنمایی کنید من چطور واسه این برنامه مقدار ماتریس رو که تابع گرفته به برنامه اصلی بازگردونم یعنی جلوی return چی بنویسم؟ مینویسم ;[A[n][m مقدار خونه n و m به برنامه اصلی داده میشه ؟!! چیکار کنم کل ماتریس رو به برنامه main برگردونه؟؟



int MAT(int n,int m)
{
int A[100][100],i,j;
for (i=1;i<=n;i++)
{for (j=1;j<=m;j++)
{cout<<"meghdare khane ("<<i<<","<<j<<") = ";
cin>>A[i][j];}
}
return
}


ممنون:11:

demiro
08-06-2010, 18:44
سلام دوستان
کلا کسی میدونه این سوالو من باید چیکار کنم ؟

Description
This puzzle consists of a random sequence of m black disks and n white disks on an oval-shaped track, with a turnstile capable of flipping (i.e., reversing) three consecutive disks. In Figure 1, there are 8 black disks and 10 white disks on the track. You may spin the turnstile to flip the three disks in it or shift one position clockwise for each of the disks on the track (Figure 1).

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

The goal of this puzzle is to gather the disks of the same color in adjacent positions using flips and shifts. (Figure 2)

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

You are to write a program which decides whether a given sequence can reach a goal or not. If a goal is reachable, then write a message "YES"; otherwise, write a message "NO".
Input
The input consists of T test cases. The number of test cases ) (T is given in the first line of the input file. Each of the next T lines gives a test case. A test case consists of an integer, representing the sum of m and n, and a sequence of m+n 0s and 1s, representing an initial sequence. A 0 denotes a white disk and a 1 denotes a black disk. The sum of m and n is at least 10 and does not exceed 30. There is a space between numbers.
Output
The output should print either "YES" or "NO" for each test case, one per line.
Sample Input
2 18 0 0 1 0 1 1 1 1 0 1 0 0 1 0 0 0 0 1 14 1 1 0 0 1 1 1 0 0 1 1 0 1 0
Sample Output
YESNO
Source

taia
09-06-2010, 17:07
سلام

من دارم یه برنامه مینویسم یه جاش رو گیر کردم : ضرب ماتریس n*n که باید ماتریس ها تو یه تابع فراخونی بشه.

دوستان راهنمایی کنید من چطور واسه این برنامه مقدار ماتریس رو که تابع گرفته به برنامه اصلی بازگردونم یعنی جلوی return چی بنویسم؟ مینویسم ;[A[n][m مقدار خونه n و m به برنامه اصلی داده میشه ؟!! چیکار کنم کل ماتریس رو به برنامه main برگردونه؟؟



int MAT(int n,int m)
{
int A[100][100],i,j;
for (i=1;i<=n;i++)
{for (j=1;j<=m;j++)
{cout<<"meghdare khane ("<<i<<","<<j<<") = ";
cin>>A[i][j];}
}
return
}


ممنون:11:

ببینید برای اینگونه کارها بهتر از کانتینرهای پیش فرض مانند vector استفاده کنید، چون در غیر این صورت کار کمی پیچیده میشه، باید با استفاده از pointer ها این array رو بیرون بکشید، در مورد array های یک بعدی کار ساده هست و براحتی میشه این کار رو انجام داد، اما در مورد array های دو بعدی مانند مثال شما در واقع باید بگونه ای این کار رو انجام داد تا هم کامپایلر به شما ایراد نگیره و هم مشکل منطقی نداشته باشید، برای اینکار من مثال زیر رو براتون نوشتم نگاه کنید، امیدوارم کمکتون کنه:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

امیدوارم با این مثال بتونید مشکلتون رو حل کنید.

taia
09-06-2010, 18:27
سلام دوستان
کلا کسی میدونه این سوالو من باید چیکار کنم ؟

Description
This puzzle consists of a random sequence of m black disks and n white disks on an oval-shaped track, with a turnstile capable of flipping (i.e., reversing) three consecutive disks. In Figure 1, there are 8 black disks and 10 white disks on the track. You may spin the turnstile to flip the three disks in it or shift one position clockwise for each of the disks on the track (Figure 1).

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

The goal of this puzzle is to gather the disks of the same color in adjacent positions using flips and shifts. (Figure 2)

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

You are to write a program which decides whether a given sequence can reach a goal or not. If a goal is reachable, then write a message "YES"; otherwise, write a message "NO".
Input
The input consists of T test cases. The number of test cases ) (T is given in the first line of the input file. Each of the next T lines gives a test case. A test case consists of an integer, representing the sum of m and n, and a sequence of m+n 0s and 1s, representing an initial sequence. A 0 denotes a white disk and a 1 denotes a black disk. The sum of m and n is at least 10 and does not exceed 30. There is a space between numbers.
Output
The output should print either "YES" or "NO" for each test case, one per line.
Sample Input
2 18 0 0 1 0 1 1 1 1 0 1 0 0 1 0 0 0 0 1 14 1 1 0 0 1 1 1 0 0 1 1 0 1 0
Sample Output
YESNO
Source

ببینید اگر بخواهید واقعا از آنچه که در سوال گفته پیروی کنید به نظر من باید از یک cyclic linked list استفاده کنید، و عملیات مورد نظر رو که مقایسه ی دو عدد در یک سری 3 تایی بکنید، اگر عددی صفر بود، جایش را عوض کنید و این کار را به تعداد کل اعداد تکرار کنید تا تمام اعداد در یک سو جمع شوند.

ولی اگر صرفا هدف بدست آوردن جواب باشد، از یک array استفاده کنید، همانند bubble sort دو به دو مقایسه کنید و جایشان را در صورتی که یکی 0 بود عوض کنید، و اینکار را به تعداد اعداد تکرار کنید، یعنی دو loop در هم، نهایتا کل array را یکبار چک کنید ببینید آیا در بین دو عدد 0 وجود دارد یا نه! اگر وجود نداشت که جواب yes هست و در غیر این صورت جواب no هست.

نظر من بر این شکل است

dewdrops
16-07-2010, 09:09
برای اجرای یه سری برنامه گرافیکی به مشکل خوردم . مثلا ارور میده BGI رو پیدا نمیکنه .باید چی کار کنم ؟

dewdrops
23-07-2010, 17:27
دوستان سوال من خیلی راحت بود یا خیلی سخت که هیچ کسی حاضر نشد بهم جواب بده :41: :19:

sin2x=2sinxcosx
23-07-2010, 22:55
دوستان سوال من خیلی راحت بود یا خیلی سخت که هیچ کسی حاضر نشد بهم جواب بده :41: :19:


با Visual Studio کار می کنین ؟

dewdrops
24-07-2010, 09:45
دوست خوبم sin2x=2sinxcosx سلام;

من یه برنامه در رابطه با این موضوع گرفتم که به زبان c نوشته شده و برای اجرا شدنش خواستم از turbo c++ استفاده کنم که با این ارور مواجه شدم

و یه سوال دیگه

اگر بخوام دستورات زبان C در ویژوال اجرا شه باید چی کار کنم؟

sin2x=2sinxcosx
24-07-2010, 12:35
سلام .
BGI قدیمی و ناسازگار هست .
به هدر graphic تون ایراد نمی گیره ؟
تو ویژوال سی پلاس پلاس کدهای C کامپایل میشه ولی نه دیگه graphic و BGI و اینا .

dewdrops
24-07-2010, 13:44
مثلا این برنامه رو در نظر بگیرید

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
پیغام
BGI graphic not supported under windows میده.
اگر اشتباه نکنم قبلا یه سری فایل رو از یه جایی به جایی دیگه کپی میکردیم تا مثلا این جور برنامه ها اجرا میشدن حالا چی و کجاش رو اصلا یادم نمیاد!!!!
.

sin2x=2sinxcosx
26-07-2010, 09:37
شاید باید از Turbo C داس استفاده کنین .

dewdrops
05-10-2010, 12:31
دوستان این جمله رو بخونید .
کامپایلر فرقی بین تابعی که اشاره گر دریافت میکند و تابعی که آرایه ای یک بعدی دریافت می کند قائل نمیشود . البته این بدان معناست که خود تابع باید بداند آیا آرایه ای دریافت کرده است یا اشاره گری به یک متغیر.مثلا وقتی کامپایلر برای آرایه ای یک بعدی به پرامتری به صورت int b[] برخورد کند ، این پارامتر را به نگارش اشاره گری int *b تبدیل میکند. دو شکل فوق برای اعلان آرایه ای یک بعدی به عنوان پارامتر یک تابع با هم معادل میباشند.
حالا سوال : "خود تابع باید بداند آیا آرایه ای دریافت کرده است یا اشاره گری به یک متغیر" . چطوری میتونه بفهمه؟؟؟

sin2x=2sinxcosx
07-10-2010, 00:10
دوستان این جمله رو بخونید .
کامپایلر فرقی بین تابعی که اشاره گر دریافت میکند و تابعی که آرایه ای یک بعدی دریافت می کند قائل نمیشود . البته این بدان معناست که خود تابع باید بداند آیا آرایه ای دریافت کرده است یا اشاره گری به یک متغیر.مثلا وقتی کامپایلر برای آرایه ای یک بعدی به پرامتری به صورت int b[] برخورد کند ، این پارامتر را به نگارش اشاره گری int *b تبدیل میکند. دو شکل فوق برای اعلان آرایه ای یک بعدی به عنوان پارامتر یک تابع با هم معادل میباشند.
حالا سوال : "خود تابع باید بداند آیا آرایه ای دریافت کرده است یا اشاره گری به یک متغیر" . چطوری میتونه بفهمه؟؟؟


اصلا لازم هم نیست بدونه . چون فرقی نمی کنه اصلا .
این جمله رو از دیتل خوندین ؟

dewdrops
07-10-2010, 11:15
مطمئن هستید؟؟؟ پس معنی این جمله یعنی چی؟؟؟
بله از دیتل خوندم.

sin2x=2sinxcosx
08-10-2010, 23:28
مطمئن هستید؟؟؟ پس معنی این جمله یعنی چی؟؟؟
بله از دیتل خوندم.

صد در صد .

ببینین تعریفتون از آرایه چیه ؟
آرایه مجموعه ای از متغیرهاس که در خانه های متوالی از حافظه قرار گرفتن .
متوالی یعنی چی ؟
الان شما یه آرایه int مثلا 5 تایی تعریف کنین با نام a و به ترتیب بیاین a و a + 1 و a + 2 و a + 3 و ... رو چاپ کنین . ببینین نتیجه چی میشه .
اگه برای a عبارت 002CFB84 چاپ شه (که آدرس خونه اول آرایه تو حافظه اس) برای a + 1 همون عبارت به اضافه 4 چاپ میشه(چون int 4 بایت حافظه می گیره) یعنی 002CFB88 و بعدی هم میشه 002CFB8C . اینو هم در نظر داشته باشین که مبنا 16 هست .
یعنی اگه یه نفر آدرس خونه اول یه آرایه رو داشته باشه ، به کل آرایه می تونه توسط عملگر + دسترسی داشته باشه .
یعنی اشاره گر با آدرس خونه اول آرایه فرق نداره . پس اگه یه تابع یه اشاره گر به خونه اول آرایه رو بگیره در واقع کل آرایه رو گرفته .
توسط عملگر * هم میشه به محتوای این آدرس ها دسترسی داشت . چون گفتیم a یک اشاره گر هست در واقع پس میشه با a* به محتویات اون خونه دسترسی داشت . یعنی a* معادل [a[0 هست و (a+1)* معادل [a[1 و الی آخر ....
اشاره گر چیه ؟
اشاره گر یه متغیریه که به یه خونه از حافظه اشاره می کنه .

mohandes hale
20-10-2010, 15:30
با سلام
ارام جون ما هم ميتونيم اشكالاتمونو ازتون بپرسيم؟
من خيلي تو اين درس مشكل دارم كلا از اساس چيزي نمي فهمم ولي خب خيلي خيلي علاقمندم برنامه نويسي رو ياد بگيرم ميشه كمكم كنيد؟

dewdrops
20-10-2010, 18:56
با سلام
ارام جون ما هم ميتونيم اشكالاتمونو ازتون بپرسيم؟
من خيلي تو اين درس مشكل دارم كلا از اساس چيزي نمي فهمم ولي خب خيلي خيلي علاقمندم برنامه نويسي رو ياد بگيرم ميشه كمكم كنيد؟

دوست گرامی mohandes hale
:11:آرام و sin2x=2sinxcosxاز دوستان بسیار خوب انجمن c هستند:11: که تا الان خودمن هر سوالی که داشتم این دوستان پاسخگو بودند . و مطمئن هستم که پاسخگوی سوالات شما هم خواهند بود . موفق باشید

LLMMM
08-11-2012, 17:07
برنامه اول: برنامه ای بنویسید که مشخص کند آیا پارامتر number یک عدد کامل است یا خیر.با استفاده از این تابع برنامه ای بنویسید که همه اعداد کامل بین 1 تا 100 را بدست آورده و در خروجی چاپ کند.مقسوم علیه های هر یک از اعداد کامل را نیز چاپ کند تا مطمئن شوید که عدد مزبور واقعا یک عدد کامل است.مهارت برنامه نویسی خود را با آزمایش اعداد بزرگتر از 1000 امتحان کنید.


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدسوال 1 : بالاخره تو هر دفعه تکرار حلقه باید مقداری به متغیر اضافه شه و در نهایت میتونیم بگیم این عدد کامل هست یا نه . ولی تو صورت مساله خواسته مقسوم علیه ها رو هم باید چاپ کنیم. اگر تو این دستور if (num%i==0) ، بخوایم اون عدد رو چاپ کنیم ممکنه در نهایت عدد ما کامل نباشه و این وسط ممکنه مقسوم علیه های اعداد غیر کامل هم چاپ بشه و صورت مساله خواسته مقسوم علیه های عدد اول رو چاپ کنه . باید چی کار کنم باید دو تا تابع تعریف کنم که اول کامل بودن رو بررسی کنه اگر کامل بود بفرسته توی تابع دیگه که مقسوم علیه هاشو چاپ کنه ؟؟؟؟ که خب اینجوری دوباره کاری میشه .

سوال 2: منظور از قسمت آخر سوال چی هست ؟ از لحاظ بهینگی برنامه این سوال رو گفته اگر بله چطوری باید این برنامه رو بهینه کنم؟ البته میدونید خود برنامه ، نوشتنش راحته ولی من توی ریزه کاریاش مشکل دارم

برنامه 2:
برنامه ای بنویسید که پرتاب سکه را شبیه سازی کند برنامه باید برای هر بار پرتاب کلمه heads یا tail را چاپ کند.برنامه را برای 100 بار پرتاب سکه بنویسید و تعداد دفعاتی را که هر یک از دو روی سکه می آید شمرده و نتیجه را چاپ کنداین برنامه باید تابع دیگری به نام flip را فراخوانی کند.این تابع هیچ آرگومانی را دریافت نمیکند و برای خط( tail) عدد 0 و برای شیر(head) عدد 1 را باز گرداند.]نکته:اگر برنامه عمل پرتاب سکه را مطابق با واقعیت شبیه سازی کند،وقوع هر یک از دو روی سکه باید تقریبا برابر با نیمی از تعداد پرتاب ها باشد.[


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

سوال 1:برنامه رو درست نوشتم ؟دقیقا نمیدونم مشکلش چیه که یا همه رو tail میده یا همه رو head .البته برای گرفتن جواب متفاوت این دوتا باید برنامه چند بار اجرا کنیم.!
سوال 2:(امان از دست این rand ) برای تولید عدد بین 0و1 باید این دستوررو چطوری بنویسم؟
سوال3:می خواستم برنامه ای بنویسید به زبان ++C که پرتاب یک سکه را شبیه سازی کند و ببیند چند بار باید سکه را پرتاب کرد تا 4 بار پشت سر هم شیر بیاید واین عدد را ذخیره کند واین عمل را تا 4000 بار تکرار کند و بعد میانگین ان ها را به ما بدهد فوری تاشنبه :41:












برنامه 3:
این برنامه جواب 3 تمرین توام با همدیگه هست .یعنی تو تمرین اول یه کار خواسته بود و تو تمرین های بعدی خواسته بود که اجزای دیگه ای رو به برنامه اضافه کنیم .
حالا برنامه از این قرار هس:
برنامه ای بنویسید که دانش آموزان ابتدایی را در فراگیری جدول ضرب کمک نماید. این برنامه با استفاده از تابع rand دو عدد صحییح یک رقمی تولید کرده و سوالی به صورت زیر چاپ کند:

Haw much is 6 times 7?

اگر جواب درست بود باید یه پیغام میداد اگر غلط بود یه جواب دیگه .و خواسته شده بود برنامه تعداد پاسخ های درست و نادرست رو بشماره .پس از آنکه دانش آموز 10 پاسخ را وارد کرد ،برنامه باید درصد پاسخ های درست رو محاسبه کند.اگر این درصد کمتر از 0.75 بود ، برنامه باید پیغام please ask your instructor for extra help را در خروجی چاپ کند و به کار خود پایان دهد.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

سوال1:چرا مقدار result فقط صفر چاپ میکنه؟؟؟

سوال3:می خواستم برنامه ای بنویسید به زبان ++C که پرتاب یک سکه را شبیه سازی کند و ببیند چند بار باید سکه را پرتاب کرد تا 4 بار پشت سر هم شیر بیاید واین عدد را ذخیره کند واین عمل را تا 4000 بار تکرار کند و بعد میانگین ان ها را به ما بدهد فوری تاشنبه

LLMMM
18-11-2012, 20:26
سلام یه کمک میخوام در رابطه با نوشتن برنامه زیر [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ](40).gif
دوست عزیز2sinxcosx =sin2x وارم خانم من تازه عضو شده ام اما دیدم چقدر برنامه نویسی شما خوب است و چقدر سریع و با تسلط به سوالات جواب میدهید از شما میخواهم به من هم کمک کنید
میخواستم برنامه زیر رابنویسید
صورت کامل برنامه این است که ما تابع (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 است را به ما میدهد
دیگه بهتر از این بلد نیستم شرح بدم راستی نمیخوام زیاد پیشرفته باشد من فقط کمی برنامه نویسی بلدم در حد ایجاد تابع و یه کم هم ارایه ,...
از دوستان دیگر هم تقاضا کمک دارم :sq_7: پیشاپیش ممنون

shaghayegh 3
11-12-2012, 14:46
سلام . دوستان من مشغول یادگیری زبان C++ هستم اما از بعضی از دستورات سر در نمیارم . که تصمیم گرفتم از دوستانی در این زمینه تجربه دارند کمک بگیرم و ممنون می شم که منو راهنمایی کنید.

مثلا این دستور که قبل از دستور cout استفاده میکنیم چیه؟


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

سلام اگه منظورت ::stdاست؟؟؟؟؟؟؟؟؟؟
اگه بخوای اینو اول دستورهای cinوcout ننویسی باید اول برنامت دستور زیرو اضافه کنی:
;using namespace std