PDA

View Full Version : سوال: جمع بردار در c++ با چهار نقطه



moolerian
شنبه 27 فروردین 1390, 13:14 عصر
دوستان لطفا کممممممممممممممک
من چهار تا نقطه دارم که از دوتاشون میشه یه بردار درست کرد دیگه پس دوتا بردار داریم حالا میخوام این دوتا بردار رو با هم جمع کنم البته مختصات ریترن کنم نه اندازه
یعنی در آخر من دوتا نقطه داشته باشم که مختصات ابتدا و انتهای بردار جمع هست
اینم بگم که این دوتا بردار میتونه کاملا جدا از هم و بی ربط به هم باشن یعنی الزاما ابتدای یکی با انتهای یکی برابر نیست...
پیلیز هلپ می !!

quiet_programmer
شنبه 27 فروردین 1390, 16:43 عصر
با سلام.


البته مختصات ریترن کنم نه اندازه

یعنی الزاما ابتدای یکی با انتهای یکی برابر نیست...

با این شرایطی که تو میگی میتونی بگی چه جوری باید دوتا بردار رو باهم جمع زد که هم نقطه شروع داشته باشیم نقطه پایان؟:متفکر:
شاید هم من اشتباه میکنم ولی شما دوبردار زیر رو باهم جمع کن بگو نقطه شروع و پایان نتیجه کجاست.
4
8
--
9
13

Salar Ashgi
یک شنبه 28 فروردین 1390, 16:46 عصر
جهت راهنمایی ، بنظرم منظورتان این است :


#include <iostream>
#include <conio>
struct Point{
int x;
int y;};
//==================
int main(){
Point p1,p2,res;
p1.x=2;
p1.y=3;
//=======
p2.x=7;
p2.y=4;
//=======
res.x=p1.x+p2.x;
res.y=p1.y+p2.y;
cout<<"Sum Result :\n X= "<<res.x<<" , Y= "<<res.y<<endl;
getch();
}


موفق باشید ./

Aras_rood
یک شنبه 28 فروردین 1390, 23:26 عصر
اولن که هر بردار 4 تا مختص داره نه 2 تا (x و y سرش و x و y تهش!!! )
دومن اون کدی که شما زدین فک کنمن غلطه چون جمع بردار ها خیلی فرق داره با جمع مختصاتشون!

مطمئن نیستم که منم منظورو درست فهمیده باشم ولی این کدی که گذاشتم جمع دو تا برداره pm و dp است
که به روش مثلث نوشتم مبدا بردار جواب روی مبدا مختصات قرار دارد.

#include <iostream>
#include <conio>
struct Point{
int x;
int y;};
int main(){
Point mp1, mp2, dp1, dp2, res;
mp1.x -= mp1.x;
mp1.y -= mp1.x;
mp2.x -= mp1.x;
mp2.y -= mp1.x;
dp1.x -= mp1.x;
dp1.y -= mp1.x;
dp2.x -= mp1.x;
dp2.y -= mp1.x;
// ham mabda kardan e bordar ha
dp1.x += mp2.x;
dp1.y += mp2.x;
// shift dadan e bordar e dovomta jayi ke noghte ye entehayi ash bar noghte ye entehayi bordar e aval montabegh shavad
res.x = dp2.x;
res.y = dp2.y;
cout<<"Sum Result :\n X= "<<res.x<<" , Y= "<<res.y<<endl;
getch();
}

Salar Ashgi
سه شنبه 30 فروردین 1390, 20:24 عصر
اولن که هر بردار 4 تا مختص داره نه 2 تا (x و y سرش و x و y تهش!!! )


خوب ما هم 4 تا نقطه نوشتیم برادر ، x, y برای p1 که میشه ابتدای بردار و x , y برای p2 که میشه انتهای بردار ! بشرطی که بحث در
مختصات 2 بعدی XY باشد .



فک کنمن غلطه چون جمع بردار ها خیلی فرق داره با جمع مختصاتشون!


نه خیر دوست عزیز ، کد درست است . برای جمع بردار ها عناصر هر بردار نظیر به نظیر با بردار دیگر
جمع می شوند ./

Aras_rood
چهارشنبه 31 فروردین 1390, 19:48 عصر
من نمی فهمم :(
!!!
4 تا نقطه وجود داره پس باید 8 تا مختص وجود داشته باشه درسته ؟!
( مگر اینکه ابتدای بردار ها مبدا در نظر گرفته شده باشه ( ؟ ))

Salar Ashgi
چهارشنبه 31 فروردین 1390, 23:16 عصر
دوست عزیز بهتر هست به خاطر اینکه بحث از برنامه نویسی به ریاضی کشیده نشود و تاپیک هدفمند باشد ، یک مروری بر
بحث بردار در ریاضیات داشته باشید .

توجه : هر بردار در مختصات دو بعدی دو نقطه دارد ، ابتدا و انتها !

مطالعه بیشتر (http://en.wikipedia.org/wiki/Vector_%28geometric%29)