تور لحظه آخری
امروز : چهارشنبه ، 28 شهریور 1403    احادیث و روایات:  امام محمد باقر(ع):گويا مؤمنان همان فقيهان (فرزانگان دين فهم) و اهل انديشيدن وپند گرفتن هستند. شنيد...
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

تریدینگ ویو

کاشت ابرو

لمینت دندان

لیست قیمت گوشی شیائومی

صرافی ارکی چنج

صرافی rkchange

دزدگیر منزل

تشریفات روناک

اجاره سند در شیراز

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

طراحی کاتالوگ فوری

Future Innovate Tech

پی جو مشاغل برتر شیراز

لوله بازکنی تهران

آراد برندینگ

وکیل کرج

خرید تیشرت مردانه

وام لوازم خانگی

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

خرید ابزار دقیق

خرید ریبون

موسسه خیریه

خرید سی پی کالاف

واردات از چین

دستگاه تصفیه آب صنعتی

حمية السكري النوع الثاني

ناب مووی

دانلود فیلم

بانک کتاب

دریافت دیه موتورسیکلت از بیمه

خرید نهال سیب سبز

قیمت پنجره دوجداره

بازسازی ساختمان

طراحی سایت تهران سایت

دیوار سبز

irspeedy

درج اگهی ویژه

ماشین سازان

تعمیرات مک بوک

دانلود فیلم هندی

قیمت فرش

درب فریم لس

شات آف ولو

تله بخار

شیر برقی گاز

شیر برقی گاز

خرید کتاب رمان انگلیسی

زانوبند زاپیامکس

بهترین کف کاذب چوبی

پاد یکبار مصرف

روغن بهران بردبار ۳۲۰

قیمت سرور اچ پی

بلیط هواپیما

 






آمار وبسایت

 تعداد کل بازدیدها : 1816394643




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

چند سوال در ++c


واضح آرشیو وب فارسی:سایت ریسک: View Full Version : چند سوال در ++c lord mostafa01-12-2009, 09:39 PMچگونه میشه یه آرایه با تعداد اعضای بی نهایت تعریف کرد ؟ از دستور enum چه استفاده ای میشه کرد ؟ میشه مثال بزننین alip30c02-12-2009, 12:14 AMسلام با لیست پیوندی link list میشه Lordmaster02-12-2009, 12:40 AMاین کار در c با آرایه امکانپذیر نیست چون با آرایه شما فقط میتونید آرایه ای با طول ثابت تعریف کنید و توانایی تغییر طول آرایه رو ندارید.در vb این امکان با redim هست ولی شما در c برای اعضای بی نهایت و قابل تغییر باید از لیست پیوندی استفاده کنید روش کار هم به اینصورته که هر گره (node) که داده میگیره به آدرس گره بعدی اشاره می کنه به همین صورت تا زمانی که حافظه تون جا داشته باشه شما می تونید داده وارد کنید و فقط کافیه گره شروع رو داشته باشید تا به تمام گره های دیگه دسترسی پیدا کنید و زمانی هم که به گرهی رسیدیم که آدرس گره بعدی رو نداشت اون گره ،گره پایانی ماست.در لیست پیودنی گره شروع خیلی مهمه چون اگر گمش کنید کل لیستتون رو گم کردید! sin2x=2sinxcosx02-12-2009, 10:07 AMدوستان در مورد آرایه توضیح دادن . ولی در مورد enum : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!!الان PAWN مقدار 0 داره . ROOK مقدار 1 و KNIGHT مقدار 2 و ....... . یعنی مثلا اگه نوع داده برگشتی تابع شما int باشه شما می تونین یکی از این اعضای enum رو برگردونین و مشکلی هم پیش نمیاد . مثلا فرض کنین شما دارین برنامه شطرنج رو می نویسین و تو اون دو حالت سفید و سیاه دارین . می خواین مثلا به سفید 0 رو انتساب بدین و به سیاه 1 رو . اگه این کارو بکنین طی برنامه ممکنه سردرگم بشین که سیاه 0 بود یا 1 . مجبورین دوباره برگردین و اون جایی که این انتساب رو انجام دادین نگاه بکنین . با استفاده از enum به صورت زیر می تونین به جای 0 از خود white استفاده کنین : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!!اگه می خواین white مقدار 1 بگیره و BLACK مقدار 2 می تونین این کارو بکنین : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!!اگه بعد از BLACK یه مقدار دیگه هم داشتیم اون هم 3 می گرفت . lord mostafa02-12-2009, 10:09 PMیه سوال دیگه : می خواستم تو یه آرایه 2 بعدی که مثلا 10 سطر و 10 ستون داره به یک آرایه به طور رندوم (random) اشاره کنم یعنی یه آرایه به طور رندوم انتخاب کنم . چه طوری باید این کار رو کنم ؟ sin2x=2sinxcosx02-12-2009, 11:41 PMاصلا متوجه نشدم . یعنی اینکه محتوای آرایه رو به صورت Random پر کنین ؟ lord mostafa03-12-2009, 03:53 PMمثلا یه آرایه رو به طور رندوم انتخاب کنیم و مقدار 1 بهش بدیم a[i][j]f که i و j دلخواه و رندوم توسط کامپایلر انتخاب بشه sin2x=2sinxcosx03-12-2009, 05:36 PMمثلا اینجوری : اگه آرایه تون مثلا 4 در 4 باشه : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! djsohrab 200703-12-2009, 05:45 PM:11:سلام من دو سوال داشتم فقط اگر می شود جواب این سوال را علاوه بر ++C به #C هم بدهید ممنون برای دسترسی به فایل کامپیوتر در زبان #C باید از namespace زیر استفاده کرد : system.io 1- در ++C چه کتابخانه ای را باید include کنیم ؟ 2- لطفا تابع های موجود در system.io را توضیح دهید و همچنین معادل آنها در ++C ؟ lord mostafa03-12-2009, 07:07 PMممنون از جوابتون یه سوال دیگه : تو یه لیست که از یه آرایه با تعداد مثلا 7 عضو تشکیل شده می خواستم مقدار ماکسیمم این آرایه ها رو پیدا کنم الگوریتم نوشتنش با while رو هر کاری کردم نشد بنویسمش . میشه کمک کنین ؟ مثلا آرایه 1 مقدار 8 دارد و آرایه 2 مقدار 78 و ... و به همین ترتیب . مثلا اگه بیشترین مقدار 256 هست . می خواستم این مقدار رو پیدا کنه و نمایش بده sin2x=2sinxcosx03-12-2009, 07:40 PM:11:سلام من دو سوال داشتم فقط اگر می شود جواب این سوال را علاوه بر ++C به #C هم بدهید ممنون برای دسترسی به فایل کامپیوتر در زبان #C باید از namespace زیر استفاده کرد : system.io 1- در ++C چه کتابخانه ای را باید include کنیم ؟ 2- لطفا تابع های موجود در system.io را توضیح دهید و همچنین معادل آنها در ++C ؟ در ++C هم fstream رو اینکلود می کنیم . از #C چیزی نمی دونم متاسفانه . ممنون از جوابتون یه سوال دیگه : تو یه لیست که از یه آرایه با تعداد مثلا 7 عضو تشکیل شده می خواستم مقدار ماکسیمم این آرایه ها رو پیدا کنم الگوریتم نوشتنش با while رو هر کاری کردم نشد بنویسمش . میشه کمک کنین ؟ مثلا آرایه 1 مقدار 8 دارد و آرایه 2 مقدار 78 و ... و به همین ترتیب . مثلا اگه بیشترین مقدار 256 هست . می خواستم این مقدار رو پیدا کنه و نمایش بده اولا من جمله بندی تونو با اجازه شما درست می کنم . مثلا عنصر اول آرایه مقدار 8 و عنصر دوم آرایه مقدار 78 داره . ابتدا یه متغیر می گیرین به نام max و فرض می کنین مقدار ماکزیمم همون عنصر اول یعنی 8 است . یعنی max الان مقدار 8 داره . حالا تو یه حلقه که از اول تا آخر آرایه حرکت می کنه میگین اگه مقداری از این max بیشتر شد اونو به عنوان max بگیر . اگر هم پیدا نشد که طبیعتا همون عنصر اول max هست . djsohrab 200703-12-2009, 11:57 PMسلام دست شما درد نکنه از اینکه جواب سوالم را دادید فقط اگر می شود تابع های fstream را توضیح دهید. یک سوال دیگر : چرا وقتی دستور زیر using namespace System را وارد می کنم می گوید namespace به نام system وجود ندارد درحالی که در msdn نوشته برای دستیابی به تابع Convert باید این دستور را اضافه کنید. lord mostafa04-12-2009, 02:37 PMسلام دست شما درد نکنه از اینکه جواب سوالم را دادید فقط اگر می شود تابع های fstream را توضیح دهید. یک سوال دیگر : چرا وقتی دستور زیر using namespace System را وارد می کنم می گوید namespace به نام system وجود ندارد درحالی که در msdn نوشته برای دستیابی به تابع Convert باید این دستور را اضافه کنید. برای استفاده از fstream در ++c اول باید fstream را اینکلود کنی بعد مثلا این طوری : ifstream k; k.open ("s.dat"); ofstream j; j.open ("d.dat"); راستی در مورد namespace در ++c using namespace std; sin2x=2sinxcosx04-12-2009, 05:43 PMرا وارد می کنم می گوید namespace به نام system وجود ندارد درحالی که در msdn نوشته برای دستیابی به تابع Convert باید این دستور را اضافه کنید. تو ++C نسخه Native فقط یدونه namespace داریم که اونم std هست . djsohrab 200704-12-2009, 06:30 PMسلام پس اگر فقط std داریم برای دستیابی به تابع Convert باید چه کار کنیم ؟ با تشکر djsohrab 200704-12-2009, 06:41 PMسلام یک برنامه در جایی دیدم که اولش متغییر را به صورت زیر تعریف کرده بود : bigint q,r,xx,yy,sign; درحالی که وقتی من این را می نویسم ++C دیتا تایپ bigint را نمی شناسد. باید چیز خاصی را اینکلود کنم،در آنجا که چیزی نوشته نشده بود. sin2x=2sinxcosx04-12-2009, 10:00 PMسلام پس اگر فقط std داریم برای دستیابی به تابع Convert باید چه کار کنیم ؟ با تشکر تابع convert چیکار میکنه ؟ تو ++C نسخه ANSI برای استفاده از تابع آماده namespace نمیاریم . فایل هدر include می کنیم . سلام یک برنامه در جایی دیدم که اولش متغییر را به صورت زیر تعریف کرده بود : bigint q,r,xx,yy,sign; درحالی که وقتی من این را می نویسم ++C دیتا تایپ bigint را نمی شناسد. باید چیز خاصی را اینکلود کنم،در آنجا که چیزی نوشته نشده بود. تو ++C ما bigint نداریم . djsohrab 200705-12-2009, 12:44 AMسلام تابع convert یک چیزی تو مایه های cast هست برای تبدیل یک data type به یک date type دیگر، منتها قوی تر و تبدیلات بیشتر. در msdn بعد از نوشتن using namespace system; در main برنامه به صورت زیر استفاده کرده بود : Convert::Toint32() همین را می شود به صورت زیر نوشت : static_cast<int> ولی حالا که می گویید باید اینکلود کنیم چه فایلی را ؟ sin2x=2sinxcosx05-12-2009, 01:03 AMبله . یه همچین چیزی وجود داره و براش هم namespace سیستم رو include می کنیم . ولی این برای ++ANSI C نیست . بلکه برای استاندارد ++C مایکروسافت یا همون C++/CLI هست . اگه تو ویژوال استادیو پروژه CLR Console Application رو انتخاب کنین می تونین از این تابع استفاده کنین . djsohrab 200705-12-2009, 01:08 AMسلام دست شما درد نکنه امتحان کردم جواب داد فقط اگر می شه فرق این دو نوع را بیشتر توضیح بدید . کدام نوع بهتر است ؟ sin2x=2sinxcosx05-12-2009, 11:27 AMسلام دست شما درد نکنه امتحان کردم جواب داد فقط اگر می شه فرق این دو نوع را بیشتر توضیح بدید . کدام نوع بهتر است ؟ اگه منظورتون فرق بین C++CLI و ++ANSI C هستش باید بگم : این دو ، دو نوع مختلف از استاندارد تعریف شده برای ++C هستند که اولی توسط ANSI استاندارد شده است و متداول ترین نوع ++C هست که به نسخه Native هم معروف هست . Unmanaged هم میگن . منظور از Native هم اینه که این کدهای نوشته شده به صورت محلی در کامپیوتر شما اجرا می شن و نیاز به پلتفرم خاصی نداره . ولی C++CLI توسط مایکروسافت استاندارد شده است و تحت CLR اجرا میشه که اون هم یه محیط استاندارد برای اجرای برنامه هاست . CLR یا همون Common Language Runtime . به نظر من CLI بهتره . خیلی چیزا توش بهبود یافته . مثلا تخصیص حافظه و رهاسازی اون یا مثلا یه نوع داده صحیح 8 بایتی long long داره که range وسیعی رو ساپورت می کنه . Syntax کد نویسی تو این محیط خیلی شبیه به #C هستش . و خب طبیعتا می دونین که این نوع اخیر یعنی C++CLI فقط تو ویندوز کاربرد داره و همیشه که بحث از قابل حمل بودن کدهای ++C میشه در این مورد محروم می مونین . ولی نسخه ANSI/ISO قابل حمل تره . چه تو لینوکس چه تو ویندوز و ... . از اینجا می تونین سند استانداردسازی C++CLI رو دانلود کنین تا اطلاعات بیشتری راجع به Syntax اش بدست بیارین : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! djsohrab 200706-12-2009, 10:27 PMسلام برنامه ای که یک عدد را از ورودی دریافت کند و به مبنای 2 ببرد و در یک عدد ذخیره کند و سپس آن را چاپ کند. من این را به دو روش نوشتم یکی با آرایه و یکی بدون آن فقط خیلی طولانی است. من آنها را در زیر می گذارم ببینید راه بهتری ببرای نوشتن این برنامه هست یا نه ؟ اگر هست لطف کنید بیان کنید. روش 1 : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! -------------------------------------------- روش 2 : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! } sin2x=2sinxcosx06-12-2009, 11:40 PMفکر کنم این راحت تر باشه : #include <iostream> using namespace std; int main() { int bin[ 50 ] = { 0 }; int num; cin >> num; int index = 0; while( num > 0 ) { bin[ index ] = num % 2; num /= 2; index++; } for( int i = index - 1; i >= 0; i-- ) cout << bin[ i ]; cout << endl; return 0; } djsohrab 200707-12-2009, 04:53 PMسلام دست شما درد نكنه فقط 1- اگر مي شود برنامه را بدون استفاده از آرايه بنويسيد(من در بالا با 3 حلقه نوشتم. راحت تر!) 2- چطوري ميشود وقتي كه يك عدد را مي خواهيم cout كنيم تعيين كنيم كه از سمت راست 3 رقم 3رقم جدا كند؟ به طور مثال عدد 123456 را به صورت 123,456 بنويسد با تشكر sin2x=2sinxcosx07-12-2009, 07:37 PM1- این با یه حلقه . البته درخواست برنامه خلاف قوانین هست متنها چون شما یه نمونه از برنامه داشتین و درخواست بهبود کرده بودین نوشته شد : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!!2- نمی دونم ! :31: سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 1560]

bt

اضافه شدن مطلب/حذف مطلب




-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن