PDA

نسخه کامل مشاهده نسخه کامل : cin.getline



jaho
13-12-2009, 01:34
سلام
من از این دستور توی حلقه ی for استفاده کردم اما جواب نمیده یعنی اصلا وردی نمیگیره چرا؟


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



این هم قسمتی از برنامم که فکر کردم شاید لازم باشه!

sin2x=2sinxcosx
13-12-2009, 08:17
بیرون از حلقه for وبعد از cin >> size یدونه ;()cin.ignore بذارین .
دلیلشو هم اگه خواستین بدونین اینه که شما وقتی می خواین یدونه int بگیرین ، یعنی همون جایی که size رو گرفتین ، بعد از وارد کردن عدد مورد نظر یه Enter که می زنین تا متغیر ثبت بشه اون Enter یا همون n\ میره تو بافر قرار می گیره و به اولین دستور getline که رسید فکر می کنه شما همون اول Enter زدین و یه رشته خالی رو ثبت می کنه بدون اینکه از شما چیزی بخواد . البته اگه قبلا cin >> size رو نداشتین این مشکل نبود .

البته الان که کد رو می بینم باید بعد از cin>>time هم یدونه از اون ignore ها بذارین .

jaho
13-12-2009, 20:40
بعد از وارد کردن عدد مورد نظر یه Enter که می زنین تا متغیر ثبت بشه اون Enter یا همون n\ میره تو بافر قرار می گیره
چی؟ کجا؟کو؟
سلام متشکرم از توضیحاتتون...
فقط هنوز یه مشکلی وجود داره ...این کاری که من توی حلقه ی for انجام دادم درسته؟یعنی کاراکترهارو مقایسه
می کنم؟(کد اسکیشون مقایسه میشه دیگه؟)

sin2x=2sinxcosx
13-12-2009, 20:49
چی؟ کجا؟کو؟


متوجه نشدم . !!



سلام متشکرم از توضیحاتتون...
فقط هنوز یه مشکلی وجود داره ...این کاری که من توی حلقه ی for انجام دادم درسته؟یعنی کاراکترهارو مقایسه
می کنم؟(کد اسکیشون مقایسه میشه دیگه؟)

شما کجای حلقه مقایسه می کنین ؟

jaho
13-12-2009, 21:11
متوجه نشدم . !!



شما کجای حلقه مقایسه می کنین ؟
قسمت اولش با خودم!
دومیش هم:31:sorry!
تصورات ذهنیم بود.....

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

sin2x=2sinxcosx
13-12-2009, 23:10
:17: ...................................
بله کد اسکی رو مقایسه می کنه . :44:

خدا آخر و عاقبت همه رو به خیر کنه ... :20:

jaho
14-12-2009, 10:44
سلام
متشکرم
اما وقتی هربار که رشته رو می گیره باید اونو توی یه خونه از آرایه بریزه بعد با این روش برحسب حروف الفبا مرتب می کنه و....اما این کارو نمی کنه...یعنی اگه رشته ی یه حرفی وارد کنم مشکلی نداره اما بیشتر که میشه قاطی میکنه...چرا؟

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





خدا آخر و عاقبت همه رو به خیر کنه ... :20:
این تازه اولشه !
چه میشه کرد برنامه نویس شدن این عوارض رو هم داره.خودتون که دستتون توشه:27:

sin2x=2sinxcosx
14-12-2009, 11:20
دقیقا نگاه نکردم چیکار کردین . ولی این دو خط رو :

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

با این دو خط جایگزین کنین ببینین چی میشه

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

jaho
14-12-2009, 19:14
دقیقا نگاه نکردم چیکار کردین . ولی این دو خط رو :

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

با این دو خط جایگزین کنین ببینین چی میشه

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
نه اینطوری که نشد البته این چیزی که شما نوشتید باید j رو از i+1 شروع کنید تا مقایسه درست انجام بشه...
اما فکر می کنم مشکل اینه که وقتی این قسمت اجرا میشه

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدهربار که name رو از ورودی می گیره هر کاراکتر رو توی خونه های جدا قرار میده درصورتی که با این دستور cin.getline و شرطهای جلوش نباید این کارو بکنه:41:....درست میگم؟

sin2x=2sinxcosx
14-12-2009, 19:56
متوجه نمی شم .

jaho
14-12-2009, 23:20
متوجه نمی شم .
ببخشید شما برنامه ی منو خوندید؟
اگر یه بار اجرا بشه مشکلش مشخص میشه!

sin2x=2sinxcosx
15-12-2009, 11:19
شما هر بار که ورودی می گیرین ورودی قبلی رو از دست می دین . اینو می دونستین ؟
باید از آرایه دوبعدی استفاده کنین . به صورت پویا .

jaho
26-12-2009, 00:44
سلام
برای جابه جا کردن دوتا سطر از یه آرایه دوبعدی روشی هست که مجبور به تعریف آرایه اضافی نباشم؟

p d
26-12-2009, 09:22
سلام.
هميشه راهي هست!
اگه منظورتون رو درست فهميده باشم:
با عكس كردن حلقه بيروني ميشه اين كار رو كرد.
اينو ببين:


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

jaho
26-12-2009, 14:29
سلام.
هميشه راهي هست!
اگه منظورتون رو درست فهميده باشم:
با عكس كردن حلقه بيروني ميشه اين كار رو كرد.
اينو ببين:


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



متشکرم منظورم همین بود اما میخوام که خود آرایه تغییر کنه !
(در اصل برای یه آرایه ی n سطری باید بررسی بشه اگر یه شرط خاصی برقرار بود سطرها رو جابجا کنه )

p d
27-12-2009, 16:39
متشکرم منظورم همین بود اما میخوام که خود آرایه تغییر کنه !
(در اصل برای یه آرایه ی n سطری باید بررسی بشه اگر یه شرط خاصی برقرار بود سطرها رو جابجا کنه )

خود سوال چيه ؟
البته پروژه انجام نميدم, سورس رو برا درك بهتر گذاشتم.
به هر حال سوال رو مطرح كنيد اگه بلد بودم در خدمتتون هستم

jaho
27-12-2009, 22:25
خود سوال چيه ؟
البته پروژه انجام نميدم, سورس رو برا درك بهتر گذاشتم.
به هر حال سوال رو مطرح كنيد اگه بلد بودم در خدمتتون هستم

مسئله ی خاصی نیست!یه آرایه ی دوبعدی درنظر بگیرید که توی هرسطر یه اسمی هست حالا من میخام به ترتیب حروف الفبا مرتبش کنم یعنی کدهای کاراکترها رو مقایسه کنه و جابه جا کنه...همین!
(البته من این برنامه رو طور دیگه نوشتم و جواب داده اما به نظرم رسید شاید این راه بهتر باشه....)
درضمن من درخواست پروژه نکردم!!!!!!!!!!!!!!!!
ترجیح میدم تحت هرشرایطی برنامه هام رو خودم بنویسم.فقط درخواست راهنمایی کردم!همین!

p d
28-12-2009, 10:57
اين جوري سخت ميشه!
بهتره از روش هاي مرتب سازي استفاده كنيد.

jaho
29-12-2009, 14:50
اين جوري سخت ميشه!
بهتره از روش هاي مرتب سازي استفاده كنيد.
روش های مرتب سازی.....؟درمورد کاراکتر ها؟

p d
29-12-2009, 17:19
برنامه ها رو ببين, دو روش مرتب سازي

يه رشته ازت ميگره كاراكتر به كاراكتر مرتب ميكنه:



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


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