Создай двумерный массив NxN, где N - количество городов, и заполни его элементы соответствующим расстоянием между двумя городами.
C++ |
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
31
32
33
34
| #include <iostream>
#include <time.h>
using namespace std;
int main()
{
srand(static_cast<unsigned int>(time(0)));
// количество городов
int N = 10;
// координаты городов "подряд"
float *a = new float[N*2];
for (int i=0; i<N*2; i++)
a[i] = static_cast<float>(rand()%1000)/100;
double **b = new double*[N];
for (int i=0; i<N; i++)
b[i] = new double[N];
for (int i=0; i<N; i++)
for (int j=0; j<N; j++)
{
b[i][j] = sqrt(pow(a[i*2]+a[j*2], 2) + pow(a[i*2+1], a[j*2+1]));
}
for (int i=0; i<N; i++)
delete [] b[i];
delete b;
delete a;
system("pause");
} |
|