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

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

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


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

 h1. {color:#003366}1. Расстояние между двумя точками{color}
  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;
 }
  _\#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(x) - извлечение корня квадратного из x
 pow(a,b) - возведение числа a в степень b (оба могут быть и целыми и вещественными)
  _sqrt_&nbsp;\- извлечение корня квадратного из x
 _pow(a,b)_ \- возведение числа a в степень b (оба могут быть и целыми и вещественными)
  
*Сравнение "на равенство" вещественных чисел*
  
2. Сравнение "на равенство" вещественных чисел
  ...
 _double d1,d2;_
 _..._
 _if (abs(d1-d2)<0.001) cout << "Yes";_
 _else cout << "No";_
  
...
  double d1,d2;
  ...
  if (abs(d1-d2)<0.001) cout << "Yes";
  else cout << "No";
  *Ввод массивов точек (10 и n)*
  
_double x{_}_[10]__,y{_}_[10]__;_
 _int i;_
 _..._
 _for (i=0; i<10; i++) cin >> x{_}_[i]_ _>> y{_}_[i]__;_
 _..._
  
3-4. Ввод массивов точек (10 и n)
  _double x{_}_[???]__,y{_}_[???]__;_
 _int i,n;_
 _cin >> n;_
 _for (i=0; i<n; i++) cin >> x{_}_[i]_ _>> y{_}_[i]__;_
  
double x[10],y[10];
  int i;
  ...
  for (i=0; i<10; i++) cin >> x[i] >> y[i];
  ...
  *Расстояние от точки до n точек*
  
_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; // Вывод в столбик_
 _..._
  
double x[???],y[???];
  int i,n;
  cin >> n;
  for (i=0; i<n; i++) cin >> x[i] >> y[i];
  *Соседние расстояния*
  
_double x{_}_[100]__,y{_}_[100]__,d{_}_[100]__;_
 _int i,n;_
  
5. Расстояние от точки до 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));_
  
6. Соседние расстояния
  *Расстояния между всеми парами точек*
  
double x[100],y[100],d[100];
  int i,n;
  _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]__;_
  
cin >> n;
  for (i=0; i<n; i++) cin >> x[i] >> y[i];
  _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));_
  
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));_
  
7. Расстояния между всеми парами точек
  *Расстояние между двумя множествами точек*
  
_double x1{_}_[300]__,y1{_}_[300]__,x2{_}_[400]__,y1{_}_[400]__,d{_}_[300]__[400]__;_
 _int i,j,n;_
  
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];
  _..._
  
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 >> 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]__;_
  
  // Альтернативный вариант - заполняем только НАД 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));
  
  
 8. Расстояние между двумя множествами точек
  
  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));_
 _..._
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: http://www.atlassian.com/software/confluence Build:#2.6.1 916) - Ошибка/новая особенность - Свяжитесь с Администраторами