Задания сразу со второго, оригинально) Второе вроде этого(быдлокод inside):
Code
float** dist(float **m, int n) { //принимает массив точек размером nх2, m[i][0] - х-координата, m[i][1] - у-координата.
float **d=new float*[n];
int i,j;
for(i=0;i<n;i++)
d[i]=new float[n-1];
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
d[i][j-1]=sqrt( sqr(m[i][0]-m[j][0]) + sqr(m[i][1]-m[j][1]) ); //sqr - ф-я возведения в квадрат, можно на pow(...,2) заменить
return d;
}