Salve, mi è stato inviato un esercizio eseguito, da dover studiare, solo che la function pow() non è stata mai spiegata e, confesso la mia ignoranza, non ne sapevo l'esistenza. In particolare, ho capito che serve a effettuare l'operazione tipo x elevato y, ma non riesco a capire come viene utilizzata in questo esercizio.
/*
TRACCIA 2: Sviluppare una function C che, dato come parametro di
input un array di tipo struct punto {double x; double y;} e il
suo size, determina e restituisce come parametri di output gli
indici dei due punti che hanno distanza minima tra loro. I campi
x e y contengono l??ascissa e l??ordinata, rispettivamente, di un
punto.
*/
#include <math.h>
struct punto {
double x;
double y;
};
void dist_min(punto v[], unsigned int n, int *p1, int *p2){
double distmin, dist;
unsigned int i, j;
*p1=-1; *p2=-1; //inizializzo indici distanza
if(n>=2){
distmin=distanza(v[0], v[1]);
for (i=0; i<n-1;i++){
for(j=i+1; j<n; j++){
dist=distanza (v[i], v[j]);
if(dist<distmin){
distmin=dist;
p1=i; p2=j;
}
}
}
}
}
double distanza(const punto *p1, const punto *p2){
return sqrt((pow(p2.x-p1.x,2))+pow(p2.y-p1.y,2));
}