الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

برنامج تبادل رقمين

بدأه Mr.Raed في 5 مارس 2011 · 19 رد · 1,510 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

كيف حبيابينا

هادي تاني مشاركة لي :lol:

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

الحين لو بنعمل برنامج يسمح بتبادل رقمين حيكون زي كذا

# include < iostream >
using namespace std ;
 int main ()
} 
int x,y,temp;
cout <<"please enter 2 number"

cin >> x >> y ;
temp = x;
x = y ;
y = temp ;
cout << "x" << x << "\t y " = << y ;
{

اللغز هو طلب مني برنامج يسمح بتبادل رقمين بدون استخدام الكلمة temp  واللي تعني مؤقتة 

قال باستخدام عبارات رياضية 

وبصراحة انا مبتدى قولت ماالي الا مساعدة اخواني لانه هو نابغة في البرمجة

تم تعديل هذه المشاركة بواسطة Mr.Raed في 5 مارس 2011 في 00:43

1f557e95a4.jpg
#2

صحيح

# include < iostream >
using namespace std ;
 int main ()
{
int x,y,temp;
cout <<"please enter 2 number"

cin >> x >> y ;
temp = x;
x = y ;
y = temp ;
cout << "x" << x << "\t y " = << y ;
}

ما تنسى الأقواس بشكل صحيح

موفق يارب

1

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#3

السلام عليكم

يمكنك أن تستعمل

x^=y

y^=x

x^=y

أو

x=x+y

y=x-y

x=x-y

بالتوفيق،، :)

1

MPSI/MP* - CPR Tanger

#4
caballero كتب:

السلام عليكم

يمكنك أن تستعمل

x^=y

y^=x

x^=y

أو

x=x+y

y=x-y

x=x-y

بالتوفيق،، :)

لمحت تواجدك بالموضوع أخي المكرم caballero

وكنت متوقعة الإجابة والحل بمشيئة الله

موفق يارب

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#5
caballero كتب:

السلام عليكم

يمكنك أن تستعمل

x^=y

y^=x

x^=y

أو

x=x+y

y=x-y

x=x-y

بالتوفيق،، :)

هذه الطريقه جميله ولكن لا انصح باستخدامها الا من باب المتعه وحل اللغاز للغه ، لانها تأخذ وقت طويل بالمعالجه من العمليه الاوله التي هي مجرد assign values

#6

سؤال ممتاز

و إجابة الأخ caballero كافية و شافية

و علي نهجها يمكن الحصول علي حلول أخري كثيرة

ومنها

#include<windows.h>
#include <iostream>
using namespace std;

int main()
{
int x,y;
cin >>x>>y;

x=x*y;
y=x/y;
x=x/y;

cout<<endl;
cout<<x<<endl<<y;
  system("pause");
  return 0;
}

و طبعا هذا الحل ليس عمليا مثل حل caballero

لأنه في الأرقام الكبيرة قد تخرج عن الحيز المحدد لنوع الرقم

#7

اهلا حبايبي

شرفتوني ونووورتو الموضوع

حورية ان شاء الله ما عاد انسى الاقواس :lol:

caballero يعطيك ربي الــــف عافية

وان شاء الله تشوفوني من طلابكم المبدعين ^_^

لان اعشق البرمجة :)

وسيتم تجريب الاجابة ولي باااك ان شاء الله ^_^ وشكررررا لكل من نورني بالموضوع :)

لان انا بصراحة فكرت باجابتك الاولى اخوي بس ما اعرفت السبب لوضع العلامة ^

^_^

1f557e95a4.jpg
#8
(الخوارزمي) كتب:

سؤال ممتاز

و إجابة الأخ caballero كافية و شافية

و علي نهجها يمكن الحصول علي حلول أخري كثيرة

ومنها

#include<windows.h>
#include <iostream>
using namespace std;

int main()
{
int x,y;
cin >>x>>y;

x=x*y;
y=x/y;
x=x/y;

cout<<endl;
cout<<x<<endl<<y;
  system("pause");
  return 0;
}

و طبعا هذا الحل ليس عمليا مثل حل caballero

لأنه في الأرقام الكبيرة قد تخرج عن الحيز المحدد لنوع الرقم

هذه العملية لا تعطي النتيجة المطلوبة إذا كانت احدى القيم مساوية للصفر , يحدث خطأ .

بالتوفيق :happy: ,

سبحآن الله وبحمده .. سبحآن الله العظيم .. ,

#9
Mr.Raed كتب:

اهلا حبايبي

شرفتوني ونووورتو الموضوع

حورية ان شاء الله ما عاد انسى الاقواس :lol:

caballero يعطيك ربي الــــف عافية

وان شاء الله تشوفوني من طلابكم المبدعين ^_^

لان اعشق البرمجة :)

وسيتم تجريب الاجابة ولي باااك ان شاء الله ^_^ وشكررررا لكل من نورني بالموضوع :)

لان انا بصراحة فكرت باجابتك الاولى اخوي بس ما اعرفت السبب لوضع العلامة ^

^_^

لو بتنساهن مرة تانية بشكيك للإدارة wub.gif

بخصوص العلامة ^ هي علامة لإجراء عملية منطقية XOR بلغة سي++

وهنا تعني اختصار للعملية التالية

x = x ^ y
y = y ^ x
x = x ^ y

عملية منطقية مع الأعداد بطريقة ثنائية (01001)

اعمل فرضيات لقيمة x لقيمة y بالتمثيل الثنائي واعمل إجراءات تسلسلية بعملية xor المنطقية وبتلاحظ التبديل بطريقة رياضية بدون temp

موفق يارب

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#10

هههههه خلاص ما خطي تاني ^_*

اختي الكود الاول فيه خطا صح

= << y ; 
شكلي ناقلو خطا من السبورة لان ما زبط معاي الاول والحين بجرب كود الاخ ^_^

ما نحط يساوي بدونها يزبط البرنامج صح :lol: اول مرا احس نفسي ممتاز خخخ

بس لمن احط الكود الاول بعد تعديلك بدون يساوي

يطلع خطا في السطر

x = y ; 

وكذا ما يتم التبادل

تم تعديل هذه المشاركة بواسطة Mr.Raed في 5 مارس 2011 في 22:54

1f557e95a4.jpg
#11

هههههههههههه

والله البرنامج عجيب خخخ لمن حطيت a b

زبط

x y

مو راضي يزبط

خخخ سيتم تجريب كود الاخ الان :excl: :lol:

1f557e95a4.jpg
#12

اخوي caballero انا جربت الكود

واشتغل صح معاي

يعطيك ربي الف عااافية ^_^

1f557e95a4.jpg
#13
Mr.Raed كتب:

هههههه خلاص ما خطي تاني ^_*

اختي الكود الاول فيه خطا صح

= << y ; 
شكلي ناقلو خطا من السبورة لان ما زبط معاي الاول والحين بجرب كود الاخ ^_^

ما نحط يساوي بدونها يزبط البرنامج صح :lol: اول مرا احس نفسي ممتاز خخخ

بس لمن احط الكود الاول بعد تعديلك بدون يساوي

يطلع خطا في السطر

x = y ; 

وكذا ما يتم التبادل

مو موجودة علامة = بهيك طريقة لا بالكود اللي حاطو انت ولا بعد التعديل بمشاركتي!

موفق يارب

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#14

انا حذفتو :lol:

منووورين التوبيك حبايبي

1f557e95a4.jpg
#15
Mr.Raed كتب:

انا حذفتو :lol:

منووورين التوبيك حبايبي

الكاميرا الخفية! blush.gif

شو المطلوب الآن؟

= << y ;

أكيد خطأ طبعاً

علامة >> بتجي بعد الكائن cout لطباعة البيانات

اقتباس

ما نحط يساوي بدونها يزبط البرنامج صح :lol: اول مرا احس نفسي ممتاز خخخ

بس لمن احط الكود الاول بعد تعديلك بدون يساوي

يطلع خطا في السطر

مو فهمانة عليك حاول تكتب الكود لحتى نشوف هالأخطاء الغريبة

يحرسك الله

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#16

ههههههه خلاص اختي حورية انا تعتبك معايا ^_^

وشكرررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررا ربي يعطيك الف عافية

خلاص كل حاجة زبطت معايا بالتجريب :wub:

1f557e95a4.jpg
#17
Mr.Raed كتب:

ههههههه خلاص اختي حورية انا تعتبك معايا ^_^

وشكرا ربي يعطيك الف عافية

خلاص كل حاجة زبطت معايا بالتجريب :wub:

ويعافيك يارب

لا تعب لا إشي انا كنت مهتمة لو بتكون المشكلة لا تزال قائمة

نعم حاول وجرب دايماً هيك بنتعلم

موفق أخي ويحرسك يارب

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#18
إشراقة فجر كتب:

هذه العملية لا تعطي النتيجة المطلوبة إذا كانت احدى القيم مساوية للصفر , يحدث خطأ .

بالتوفيق :happy: ,

الأخت الفاضلة إشراقة فجر أصبت في ملاحظتك الدقيقة

و أعتذر عن الخطأ

تحياتي

#19

لكن يا اخوتي لم افهم :ohmy:

لماذا وضعنا

x=x*y;

y=x/y;

x=x/y;

الثلاث معادلات كلها ؟؟

انا فكر بحل ان يكون x=y\x و y=x/y

حتى تذهب اكس المقام مع اكس البسط وكذالك الواي ولكن لم تعطني النتجيه الصحيحه

فهموني بارك الله فيك

#20


void swap(int& x ,int& y)
{
int temp =x;
x=y;
y=temp;


}

مواضيع مشابهة