ش | ی | د | س | چ | پ | ج |
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
به زبان سی پلاس پلاس برنامهای بنویسید که پیوسته مختصات دو نقطه در فضای سه بعدی را به عنوان ورودی از کاربر دریافت کند و فاصلهی بین آنها را محاسبه کند. در صورتی که دو نقطه یکسان باشند، خروج از برنامه رخ میدهد.
Write a program in C++ which receives the coordinates of two pints in the 3D space as input from the user and then calculates the distance between them. If the two points are identical, the program is terminated.
فاصلهی بین دو نقطه در فضای سه بعدی از طریق فرمول زیر محاسبه میشود:
کدهای زیر در محیط برنامهنویسی سی پلاس پلاس به دریافت مختصات دو نقطه در فضای سه بعدی و محاسبهی فاصلهی بین آنها میانجامد. در این برنامه فاصلهی دو نقطه از طریق فراخوانی تابع Distance صورت میگیرد.
#include <iostream>
#include <math.h>
using namespace std;
double distance(double x1, double y1, double z1, double x2, double y2, double z2)
{
double r = (x2 - x1) * (x2 - x1);
r += (y2 - y1) * (y2 - y1);
r += (z2 - z1) * (z2 - z1);
r = sqrt(r);
return r;
}
int main()
{
cout << "The Distance between Two Points in the 3D Space \n\n";
cout << "Programmer: Mohammad Rajabpur \t\t rajabpur.blogsky.com \n\n";
cout << "To exit the program, the two points have to be identical. \n\n";
while (true)
{
double x0, y0, z0, x, y, z, d;
cout << "The Coordinates of P1: \n";
cout << "x1 = ";
cin >> x0;
cout << "y1 = ";
cin >> y0;
cout << "z1 = ";
cin >> z0;
cout << "The Coordinates of P2: \n";
cout << "x2 = ";
cin >> x;
cout << "y2 = ";
cin >> y;
cout << "z2 = ";
cin >> z;
cout << "P1(" << x0 << ", " << y0 << ", " << z0 << ")" << endl;
cout << "p2(" << x << ", " << y << ", " << z << ")" << endl;
d = distance(x0, y0, z0, x, y, z);
cout << "Distance = " << d << endl;
cout << "------------------------------------------------" << endl;
if (x0 == x && y0 ==y && z0 == z)
{
cout << "The program is terminated. \n";
break;
}
}
}
برنامه پس از کمپایل شدن و اجرا، به صورت زیر عمل میکند: