Con la tua riga di codice, tu calcoli la distanza tra due punti.
A tale scopo usi l' operatore ^ per l'elevamento a potenza. Purtroppo quest' ultimo è l'operatore bit a bit or esclusivo ( XOR ) ( alessioxx.altervista.org/blog/ ). Di conseguenza il risultato non sarà corretto.
Inoltre il campo lunghezza essendo dichiarato come vettore, bisogna indicare l' indice corrispondente.
A parte quanto detto da Poggi Marco, mi sembra che tu tenti di mettere un valore float in un float[], in quanto lunghezza è dichiarato come array di float...
Dovresti fare l.segmenti[i].lunghezza[i]=..... per non avere errori, ma così su 2 piedi mi sembra che l'errore sta più nell'aver dichiarato lunghezza come array