PDA

View Full Version : مبتدی: یه الگوریتم غیر قابل فهم



sina12345678910
سه شنبه 21 مهر 1394, 00:21 صبح
با سلام!!
من ترم یک رشته نرم افزار هستم و قبل از این برنامه نویسی با php کردم و با حل الگوریتم آشنا هستم...
اما استادمون یه الگوریتم داده که من به نتیجه میرسم اما غیر منطقی به نظر میرسه نمیدونم منظور از این الگوریتم چیه اگه کمکم کنین ممنون میشم...!!
برنامه ای بنویسید که دو متغیر a,b را از ورودی بگیرد و با کمک یه متغیر کمکی داده های آنها را جابجا کند... الگوریتمی که خود من نوشتم این هست:

#include<iostream>
#include<stdlib.h>


using namespace std;


int main(){

int a,b,c;
cout<<"A is: ";
cin>>a;
cout<<"B is: ";
cin>>b;
c=a+b;

cout<<"a set to: "<<c-a<<"\n";
cout<<"b set to: "<<c-b<<"\n";





system("pause");
return 0;
}


اصلا منطقی نیست اگه کمکم کنین ممنون میشم...!!! بازم تشکر از همه بچه های خوب برنامه نویس

Ananas
سه شنبه 21 مهر 1394, 01:21 صبح
سلام.
شما داده های متغیر هارو جابجا نکردید! فقط مقادیر رو موقع چاپ برعکس چاپ کردید. اگر هدف اینه که محتویاتشون جابجا بشه با استفاده از متغیر کمکی من اینطور مینویسم:

c = a;
a = b;
b = c; /* c == old a */

sina12345678910
سه شنبه 21 مهر 1394, 11:33 صبح
آقا خیلی ممنون از لطفتون تشکر من خوب واسم جا نیفتاده بود موضوع...!!!
:تشویق::تشویق::تشویق::تشویق:: شویق::تشویق::تشویق::تشویق:

ehsan_faal
سه شنبه 21 مهر 1394, 11:46 صبح
البته بدون استفاده از متغیر کمکی هم اینکار قابل انجامه.
میتونید از xor استفاده کنید.