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

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

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


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

 h1. {color:#000000}{*}Расстояние между двумя точками{*}{color}{color:#000000} {color}
  
 {code:title=prog.cpp\|borderStyle=solid}\#include <bits/stdc++.h>using namespace std;
  \\
 {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(x) - извлечение корня квадратного из x
// pow(a,b) - возведение числа a в степень b (оба могут быть и целыми и вещественными){code}{*}Сравнение "на равенство" вещественных чисел*
  
 {code:title=prog.cpp\|borderStyle=solid}&nbsp;... double d1,d2;
  // pow(a,b) - возведение числа a в степень b (оба могут быть и целыми и вещественными)
 {code}
 *Сравнение "на равенство" вещественных чисел*
 \\ \\
 {code:title=prog.cpp\|borderStyle=solid}
 ... double d1,d2;
  ...
  if (abs(d1-d2)<0.001) cout << "Yes";
else cout << "No"; {code}{*}Ввод массивов точек (10 и n)*
  
 {code:title=prog.cpp\|borderStyle=solid}&nbsp;double x\[10\],y\[10\]; int i;
  else cout << "No";
 {code}
 *Ввод массивов точек (10 и n)*
 \\ \\
 {code:title=prog.cpp\|borderStyle=solid}
 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}{*}Соседние расстояния*
  
 {code:title=prog.cpp\|borderStyle=solid}&nbsp;double x\[100\],y\[100\],d\[100\]; int i,n;
  
   ...
 {code}
 *Соседние расстояния*
 \\ \\
 {code:title=prog.cpp\|borderStyle=solid}
 double x\[100\],y\[100\],d\[100\]; int i,n;
  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));{code}{*}Расстояния между всеми парами точек*
  
 {code:title=prog.cpp\|borderStyle=solid}&nbsp;double x\[400\],y\[400\],d\[400\]\[400\]; int i,j,n;
   d[i]=sqrt(pow(x[i]-x[i+1],2)+pow(y[i]-y[i+1],2));
 {code}
 *Расстояния между всеми парами точек*
 \\ \\
 {code:title=prog.cpp\|borderStyle=solid}
 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));
  
  
  // Альтернативный вариант - заполняем только НАД 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}{*}Расстояние между двумя множествами точек*
   d[i][j]=sqrt(pow(x[i]-x[j],2)+pow(y[i]-y[j],2));
 {code}
 *Расстояние между двумя множествами точек*
 \\
 {code:title=prog.cpp\|borderStyle=solid}
 double x1\[300\],y1\[300\],x2\[400\],y1\[400\],d\[300\]\[400\]; int i,j,n;
  
{code:title=prog.cpp\|borderStyle=solid}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));
  ...{code}
   ...
 {code}
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: http://www.atlassian.com/software/confluence Build:#2.6.1 916) - Ошибка/новая особенность - Свяжитесь с Администраторами