Рабочий стол > DL Руководство пользователя > Геометрия > Information > Сравнить страницу
Геометрия Войти | Зарегистрироваться   Просмотр версии для печати текущей страницы.

Ключ
Эти линии были удалены. Это слово было удалено.
Эти линии были добавлены. Это слово было добавлено.

Просмотр истории страницы


Есть 19 изменений. Просмотреть первое изменение .

 h1. {color:#000000}{*}Расстояние между двумя точками{*}{color}{color:#000000} {color}
  
 _\#include <bits/stdc++.h>_
 _using namespace std;_
 _int main()_
 _{_
 _double x1,x2,y1,y2,d;_
 _cin >> x1 >> y1 >> x2 >> y2;_
 _d=sqrt(pow(x2-x1,2)+pow(y2-y1,2));_
 _cout << setprecision(2) << fixed;_
 _cout << d;_
 _}_
  {code:title=prog.cpp\|borderStyle=solid}\#include <bits/stdc++.h>using namespace std;
 int main()
 {
  double x1,x2,y1,y2,d;
  cin >> x1 >> y1 >> x2 >> y2;
  d=sqrt(pow(x2-x1,2)+pow(y2-y1,2));
  cout << setprecision(2) << fixed;
 cout << d;
 }
  
_sqrt_&nbsp;\- извлечение корня квадратного из x
 _pow(a,b)_ \- возведение числа a в степень b (оба могут быть и целыми и вещественными)
  // sqrt(x) - извлечение корня квадратного из x
 // pow(a,b) - возведение числа a в степень b (оба могут быть и целыми и вещественными){code}{*}Сравнение "на равенство" вещественных чисел*
  
*Сравнение "на равенство" вещественных чисел*
  {code:title=prog.cpp\|borderStyle=solid}&nbsp;... double d1,d2;
  ...
  if (abs(d1-d2)<0.001) cout << "Yes";
  else cout << "No"; {code}{*}Ввод массивов точек (10 и n)*
  
...
 _double d1,d2;_
 _..._
 _if (abs(d1-d2)<0.001) cout << "Yes";_
 _else cout << "No";_
  {code:title=prog.cpp\|borderStyle=solid}&nbsp;double x\[10\],y\[10\]; int i;
  ...
  for (i=0; i<10; i++) cin >> x[i] >> y[i];
  ...
  
*Ввод массивов точек (10 и n)*
  
_double x\[_{_}10\]__,y\[_{_}10\]__;_
 _int i;_
 _..._
 _for (i=0; i<10; i++) cin >> x\[_{_}i\]_ _>> y\[_{_}i\]__;_
 _..._
   double x[???],y[???];
  int i,n;
  cin >> n;
  for (i=0; i<n; i++) cin >> x[i] >> y[i];{}code{*}Расстояние от точки до n точек{*}{code:title=prog.cpp|borderStyle=solid}double x[10],y[10],d[10],x0,y0;
  int i;
  ...
  cin >> x0 >> y0;
  cin >> n;
  for (i=0; i<n; i++) cin >> x[i] >> y[i];
  ...
  for (i=0; i<n; i++)
  d[i]=sqrt(pow(x[i]-x0,2)+pow(y[i]-y0,2));
  ...
  cout << setprecision(2) << fixed;
  for (i=0; i<10; i++)
  cout << d[i] << endl; // Вывод в столбик
  ...{code}{*}Соседние расстояния*
  
_double x{_}_\[10\]__,y{_}_\[10\]__;_
 _int i,n;_
 _cin >> n;_
 _for (i=0; i<n; i++) cin >> x\[_{_}i\]_ _>> y\[_{_}i\]__;_
  {code:title=prog.cpp\|borderStyle=solid}&nbsp;double x\[100\],y\[100\],d\[100\]; int i,n;
  
*Расстояние от точки до n точек*
   cin >> n;
  for (i=0; i<n; i++) cin >> x[i] >> y[i];
  
_double x\[_{_}10\]__,y\[_{_}10\]__,d\[_{_}10\]__,x0,y0;_
 _int i;_
 _..._
 _cin >> x0 >> y0;_
 _cin >> n;_
 _for (i=0; i<n; i++) cin >> x\[i\]_ _>> y\[i\]__;_
 _..._
 _for (i=0; i<n; i++)_
 _d\[_{_}i\]__=sqrt(pow(x\[_{_}i\]__\-x0,2)+pow(y\[_{_}i\]__\-y0,2));_
 _..._
 _cout << setprecision(2) << fixed;_
 _for (i=0; i<10; i++)_
 _cout << d\[i\]_ _<< endl; // Вывод в столбик_
 _..._
   for (i=0; i<n-1; i++)
  d[i]=sqrt(pow(x[i]-x[i+1],2)+pow(y[i]-y[i+1],2));{code}{*}Расстояния между всеми парами точек*
  
*Соседние расстояния*
  {code:title=prog.cpp\|borderStyle=solid}&nbsp;double x\[400\],y\[400\],d\[400\]\[400\]; int i,j,n;
  cin >> n;
  for (i=0; i<n; i++) cin >> x[i] >> y[i];
  
_double x{_}_\[100\]__,y{_}_\[100\]__,d\[100{_}_\]__;_
 _int i,n;_
   for (i=0; i<n; i++)
  for (j=0; j<n; j++)
  d[i][j]=sqrt(pow(x[i]-x[j],2)+pow(y[i]-y[j],2));
  
_cin >> n;_
 _for (i=0; i<n; i++) cin >> x\[i\]_ _>> y\[_{_}i\]__;_
  
_for (i=0; i<n-1; i++)_
 _d{_}{_}i{_}_=sqrt(pow(x\[_{_}i\]__\-x\[_{_}i+1\]__,2)+pow(y\[_{_}i\]__\-y\[_{_}i+1\]__,2));_
   // Альтернативный вариант - заполняем только НАД 1 ДИАГОНАЛЬЮ
  // поскольку d[i,j] = d[j,i]
  
*Расстояния между всеми парами точек*
   for (i=0; i<n; i++)
  for (j=i+1; j<n; j++)
  d[i][j]=sqrt(pow(x[i]-x[j],2)+pow(y[i]-y[j],2));{code}{*}Расстояние между двумя множествами точек*
  
_double x{_}_\[400\]__,y{_}_\[400\]__,d{_}_\[400\]\[400\]__;_
 _int i,j,n;_
 _cin >> n;_
 _for (i=0; i<n; i++) cin >> x\[_{_}i\]_ _>> y\[i\]__;_
  {code:title=prog.cpp\|borderStyle=solid}double x1\[300\],y1\[300\],x2\[400\],y1\[400\],d\[300\]\[400\]; int i,j,n;
  
_for (i=0; i<n; i++)_
 _&nbsp; &nbsp;for (j=0; j<n; j++)_
 _&nbsp; &nbsp; &nbsp; &nbsp;d{_}_\[i\]\[j\]__=sqrt(pow(x\[_{_}i\]__\-x\[_{_}j\]&nbsp;__,2)+pow(y\[_{_}i\]__\-y\[_{_}j\]__,2));_
   ...
  
_// Альтернативный вариант - заполняем только НАД 1 ДИАГОНАЛЬЮ_
 _// поскольку d\[_{_}i,j\]_ _= d\[_{_}i,j\]_
   cin >> n1;
  for (i=0; i<n1; i++) cin >> x1[i] >> y1[i];
  
_for (i=0; i<n; i++)_
 _for (j=i+1; j<n; j++)_
 _d{_}_\[i\]\[j\]__=sqrt(pow(x\[_{_}i\]__\-x\[_{_}j\]__,2)+pow(y\[_{_}i\]__\-y\[_{_}j\]__,2));_
   cin >> n2;
  for (i=0; i<n2; i++) cin >> x2[i] >> y2[i];
  
 *Расстояние между двумя множествами точек*
  
 _double x1\[300\]__,y1\[300\]__,x2\[400\]__,y1\[400\]__,d\[300\]\[400\]__;_
 _int i,j,n;_
  
 _..._
  
 _cin >> n1;_
 _for (i=0; i<n1; i++) cin >> x1{_}_\[i\]_ _>> y1\[i\]__;_
  
 _cin >> n2;_
 _for (i=0; i<n2; i++) cin >> x2{_}_\[i\]_ _>> y2{_}_\[i\]__;_
  
 _for (i=0; i<n1; i++)_
 _for (j=0; j<n2; j++)_
 _d{_}_\[i\]\[j\]__=sqrt(pow(x1{_}_\[i\]__\-x2{_}_\[j\]__,2)+pow(y1{_}_\[i\]__\-y2{_}_\[j\]__,2));_
 _..._
   for (i=0; i<n1; i++)
  for (j=0; j<n2; j++)
  d[i][j]=sqrt(pow(x1[i]-x2[j],2)+pow(y1[i]-y2[j],2));
  ...{code}
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: http://www.atlassian.com/software/confluence Build:#2.6.1 916) - Ошибка/новая особенность - Свяжитесь с Администраторами