جابجایی دو عدد ورودی بدون متغییر کمکی
این یکی از سوالات فصل دوم کتابمبانی کامپیوتر و برنامه نویسی، جعفر تنها هست:
"فلوچارتی رسم نمائید که دو عدد از ورودی دریافت کرده، سپس محتویات دو عدد را بدون استفاده از متغیر کمکی جابجا کند."
من انتظاری ندارم که کسی واسم فلوچارت رسم کنه!
تنها سوالم اینه که چطور باید این مسئله رو حل کرد؟
اینکه بدون متغییر کمکی بخواهیم این کار رو انجام بدیم واسم قابل درک نیست...
نقل قول: جابجایی دو عدد ورودی بدون متغییر کمکی
نقل قول: جابجایی دو عدد ورودی بدون متغییر کمکی
فرض کن a=7 و b=10 پس داريم :
a=a+b
b=a-b
a=a-b
نتيجه ميشه:
a=10
b=7
اينم بدون استفاده از متغير کمکی
نقل قول: جابجایی دو عدد ورودی بدون متغییر کمکی
با جمه و تفریق ممکنه سرریزی رخ بده
از XOR باید استفاده کرد
نقل قول: جابجایی دو عدد ورودی بدون متغییر کمکی
نقل قول:
نوشته شده توسط
gbg
با جمه و تفریق ممکنه سرریزی رخ بده
از XOR باید استفاده کرد
متوجه منظورت نشدم دوست عزیز منظورت هم نوع نبودن هست یا چیز دیگه ؟ اگر توضیح بدی ممنون میشم بالاخره آدم یه چیزایی رو کلن روش شک میکنه دیگه./
نقل قول: جابجایی دو عدد ورودی بدون متغییر کمکی
1 - منظورم از جمه ، جمع بود
2 - یه متغیر تعداد بیت ثابت رو میتونه ذخیره کنه مثلا بایت 8 بیت ، حالا اگه دو عدد 8 بیتی رو باهم جمع کنی ، ممکنه این عدد برای ذخیره شدن در متغییر نیاز به 9 بیت داشته باشه و این یه بیت اضافه در جمع رو رقم نقلی میگن
نقل قول: جابجایی دو عدد ورودی بدون متغییر کمکی
تمرین کلاسی: فلوچارتی رسم کنید که عـددي صـحیح طبیعـی n را
دریافت کند و تعداد اعـداد اول کـوچکتر از آن را محاسـبه کـرده و
نمایش دهد