Как сделать так чтобы данные для задачи можно было вводить через консоль, а не через код?
в множестве точек A1 в трехмерном пространстве найти пару точек с максимальным расстоянием между ними
#include <stdio.h>
typedef struct POINT_3D
{
double x, y, z;
} point_3d;
double quad_distance( const point_3d *a, const point_3d *b )
{
double X = a->x - b->x;
double Y = a->y - b->y;
double Z = a->z - b->z;
return ( X*X + Y*Y + Z*Z );
}
void max_distance_points( point_3d P[], int n )
{
double max_dist = 0.0;
int I = 0, J = 0;
for ( int i = 0; i < n; ++i )
for ( int j = i + 1; j < n; ++j )
{
double dist = quad_distance( &P[i], &P[j] );
if ( max_dist < dist )
{
max_dist = dist;
I = i;
J = j;
}
}
printf( "(%f, %f, %f) \n", P[I].x, P[I].y, P[I].z );
printf( "(%f, %f, %f) \n", P[J].x, P[J].y, P[J].z );
}
int main( void )
{
point_3d points[] = { {1, 0, 4 }, {1, -3, 0 }, { 0, 0, 0}, {0, 1, 2 } };
const int n = sizeof( points ) / sizeof( points[0] );
max_distance_points( points, n );
return 0;
}