كنترل پنل             جستجو               پرسشهای متداول            .:: آخرین پست‌های انجمن ::.            لیست اعضا            مدیران سایت             درجات        ورود
فهرست انجمن‌ها -> عمومي برنامه‌نويسي -> زبان برنامه‌نويسي C و مشابه
پاسخ دادن به این موضوع رفتن به صفحه قبلی  1, 2
کمک در مورد سی پلاس پلاس
پست تاریخ: شنبه 3 بهمن 1388 - 08:27    
arkco
خوب داره پيش مي‌ره
خوب داره پيش مي‌ره


پست: 43
عضو شده در: 24 فروردین 1387
محل سکونت: آران و بیدگل
blank.gif


امتياز: 699

عنوان: پاسخ به «کمک در مورد سی پلاس پلاس» خواندن مشخصات فردی ارسال پیام شخصی

سلام دوستان

الگوریتم برنامه به این شکله

( برای i=0 ) در مرحله اول می یاد و اولین عدد رو از ورودی دریافت می کنه و چون این عدد ممکن نیست تکراری باشد پس لازم نیست که بررسی شود تکراری هست یا نه

( برای i=هر عددی به جز 0 ) شرط if(i>0) برقرار می شه و سپس وارد حلقه می شیم.در حلقه for(k=0;k<=i-1;k++) عددی که از ورودی در یافت شده با همه اعداد قبل از خودش مقایسه می شه . در صورتی که عدد با اعداد قبل از خودش مساوی یود حلقه ی while(x[i]==x[k]) شروع به کار می کنه و از کاربر می خواد عدد دیگری رو وارد کنه و بعد که عدد دیگری توسط کاربر وارد شد دوباره k=0 می شه و عددی که دوباره از کاربر گرفته شده با تمام اعداد قبل خودش مقایسه می شه و در صورت تکراری بودن دوباره همین قضیه تکرار می شه .

ali048 در پاسخ سوالات شما

در مورد سوال3 شما باید بگم این اتفاق با شرط if(i>0) هیچ وفت نمی افته

و این که چرا از while(x[i]==x[k]) استفاده کردم و به جاش از if(x[i]==x[k]) استفاده کردم اینه که اگر در یک مرحله یک عدد وارد بشه بعد دوباره همون عدد وارد بشه و بعد دوباره همون عدد وارد باشه این عدد تکراری در if از کاربر به عنوان عدد i+1 ام قبول می شه اما در while امکان همچین چیزی نیست چون بی نهایت بار شرط بررسی می شه و وقتی که دیگه x[i]==x[k] نباشه عدد رو به عنوان غدد i+1 ام قبول می کنه و در حافظه جا می ده.

در مورد سوال بعدی این اتفاق نمی افته چون k یکی از i کمتره

در مورد سوال 6 البته اگر من منظور شما را درست متوجه شده باشم این اتفاق تنها در صورتی می افته که اعداد تکراری وارد بشه که البته معمولی هم هست که در صورت تکراری بودن بیش ار 20 مرحله از ورودی عدد دریافت بشه .

در مورد سوال 7 k=0 می شه چون پس از در یافت عددی دیگر دوباره چک کردن اون با اعداد قبل خودش بررسی بشه و خلقه یک بار دیگر از نو انجام بشه .

در مورد سوال 8 باید بگم که continue به این دلیله که در صورت تکراری بودن عدد به اول حلقه برای بررسی مجدد منتقل شود.

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:

پست تاریخ: شنبه 3 بهمن 1388 - 12:36    
Gytyonline
مديريت كل انجمن‌ها
مديريت كل انجمن‌ها


پست: 899
عضو شده در: 14 شهریور 1384
محل سکونت: tehran
iran.gif


امتياز: 8184

عنوان: پاسخ به «کمک در مورد سی پلاس پلاس» خواندن مشخصات فردی ارسال پیام شخصی ارسال email

سلام arkco
حالا که الگوریتمت رو گفتی خیلی مسائل حل شدش .
فقط چند تا چیز دیگه به نظرم رسیدش :
در مورد نکته 6 که گفتم : اره دست به قول خودت در صورت تکراری بودن بیش ار 20 مرحله از ورودی عدد دریافت می شه اما به فرض ما اومدیم شماره دانش آموز 16 ام رو وارد کنید کاربر هی عدد تکراری می i هم در این صورت هی زیاد میشه فکن کاربر 10 با عدد تکراری بده در صورتی که تا دانش آموز 16 ام هیچ عدد تکراری وارد نشده باشه i ما میشه 26 و به کار بر می گیم عدد تکراری هستش شماره دانش آموز 26 را وارد کنید درسته ؟؟؟ اره این 26 امین شماره ای هستش که ما از کاربر می گیریم ولی برای 16 امین دانش آموز نه برای 26 امین داشن آموز چون ما کلا 20 تا دانش آموز داریم و دانش آموز 26 امی در کار نیستش یعنی i توی برنامه باید نشون دهنده تعداد شماره های صحیح و مورد قبول باشه ن تعداد شماره های وارد شده چون i نشون دهنده تعداد دانش آموزان هم هستش . درست میگم ؟؟

در مورد continue هم فکر نکنم نیازی به استفاده ازش باشه ، گفتی :

نقل قول:
در مورد سوال 8 باید بگم که continue به این دلیله که در صورت تکراری بودن عدد به اول حلقه برای بررسی مجدد منتقل شود.


به اول کدوم حلقه بره ؟؟؟ احتمالا منظورت for هستش دیگه ؟؟ نیگا وقتی ما دوباره x[i] رو از کاربر بگیریم به احتمال زیاد مقدارش با x[k] متفاوت هستش به خاطر همین while دیگه اجرا نمیشه و چون دستور k=0 رو گذاشتی برنامه میره و حلقه for رو دوباره از اول شروع میکنه
پس فکر نکنم نیازی به استفاده از تابع()continue باشه Exclamation Question

بقیه برنامت باید درست باشه ، اجراش کردی توی کامپایلر ؟؟؟ درست کار کردش ؟؟

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:

پست تاریخ: شنبه 3 بهمن 1388 - 20:42    
arkco
خوب داره پيش مي‌ره
خوب داره پيش مي‌ره


پست: 43
عضو شده در: 24 فروردین 1387
محل سکونت: آران و بیدگل
blank.gif


امتياز: 699

عنوان: پاسخ به «کمک در مورد سی پلاس پلاس» خواندن مشخصات فردی ارسال پیام شخصی

سلام ali048 جان
در مورد نکته 6 باید بگم که البته اگه درست متوجه شده باشم من با گذاشتن این خط فرمان
کد:
 cout<<" \n Please reenter student "<<i+1<<" number : ";

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

در مورد continue و k=0 که گفتی این دو در حلقه while قرار دارند و در صورتی که عدد غیر تکراری باشه اصلا حلقه while اجرا نمی شه که بخواد دستورات داخلش اجرا بشه .

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

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

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:

پست تاریخ: یکشنبه 4 بهمن 1388 - 00:16    
Gytyonline
مديريت كل انجمن‌ها
مديريت كل انجمن‌ها


پست: 899
عضو شده در: 14 شهریور 1384
محل سکونت: tehran
iran.gif


امتياز: 8184

عنوان: پاسخ به «کمک در مورد سی پلاس پلاس» خواندن مشخصات فردی ارسال پیام شخصی ارسال email

سلام
خوب پس اگه درست توی کامپایلر اجرا شده پس دیگه سر چی بحث کنیم ؟؟؟ Mr. Green
همه چی دسته دیگه Wink

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:

پست تاریخ: یکشنبه 4 بهمن 1388 - 07:41    
arkco
خوب داره پيش مي‌ره
خوب داره پيش مي‌ره


پست: 43
عضو شده در: 24 فروردین 1387
محل سکونت: آران و بیدگل
blank.gif


امتياز: 699

عنوان: پاسخ به «کمک در مورد سی پلاس پلاس» خواندن مشخصات فردی ارسال پیام شخصی

سلام ali048 عزیز
چون می دونم به احتمال زیاد این آخرین مطلب این تاپیکه باز هم از حسن دقت و توجه شما تشکر می کنم .
همچنین از Hamid جان هم تشکر می کنم.

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:

پست تاریخ: دوشنبه 16 دی 1392 - 15:52    
goly
تازه به جمع ما پيوسته
تازه به جمع ما پيوسته


پست: 2
عضو شده در: 7 دی 1392



امتياز: 18

عنوان: خواندن مشخصات فردی ارسال پیام شخصی

سلام یه سوال داشتم؟وظیفه اینا تو سی پلاس پلاس چیه؟getstate -clrscr -gotoxy

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:


نمایش پستها:                 مشاهده موضوع قبلی :: مشاهده موضوع بعدی  
پاسخ دادن به این موضوع
 
رفتن به صفحه قبلی  1, 2
صفحه 2 از 2

تمام زمانها بر حسب GMT + 3.5 Hours می‌باشند
 Related Topics 


 information 

 

پرش به:  
شما نمی توانید در این بخش موضوع جدید پست کنید
شما نمی توانید در این بخش به موضوعها پاسخ دهید
شما نمی توانید موضوع های خودتان را در این بخش ویرایش کنید
شما نمی توانید موضوع های خودتان را در این بخش حذف کنید
شما نمی توانید در این بخش رای دهید


Copyright 2004-2024. All rights reserved.
© by Aftabgardan Cultural Center : Aftab.cc