Oppure

Loading
30/09/09 13:14
microprocessore
ciao... ho bisogno del vostro aiuto con una applicazione console.
devo caricare un vettore di n celle di tipo float, come devo fare per convertire il numero che inserisce l'utente da string a float?

i valori float sarebbero le coordinate cartesiano di n punti e dovrei calcolare le distanza che intercorrono tra tutti i punti.
quindi mi vengono in mente altri 2 dubbi:
1)come si calcolano le combinazioni di n elementi presi a 2 a 2?
2)che tipo di condizione dovrei mettere per fare in modo che mi venga calcolata la distanza tra i punti?... lo dico perchè si dovrebbe impostare il codice in modo che usi le formule del teorema di pitagora.

grazie in anticipo
Ultima modifica effettuata da microprocessore 30/09/09 13:38
aaa
30/09/09 13:52
LittleHacker
Postato originariamente da microprocessore:

ciao... ho bisogno del vostro aiuto con una applicazione console.
devo caricare un vettore di n celle di tipo float, come devo fare per convertire il numero che inserisce l'utente da string a float?


Scusa ma i numeri che inserisci l'utente sono in numeri o in parole perchè se fossere in numeri invece di dichiararla come string la dichiari subito come float...

Poi le altre domande non so risponderti mi disp:(:k:
aaa
30/09/09 14:49
microprocessore

in pratica uso il Console.ReadLine(); che avrei convertito in int ma i numeri devono essere decimali quindi dovrei convertirlo in float

esempio: devo assegnare alla cella 0: 1,1.
come lo converto?
Ultima modifica effettuata da microprocessore 30/09/09 14:51
aaa
30/09/09 14:52
LittleHacker
Postato originariamente da microprocessore:

i numeri che inserisce sono in formato string...
in pratica uso il Console.ReadLine(); che avrei convertito in int ma i numeri devono essere decimali quindi dovrei convertirlo in float

Dim num As Float = Console.ReadLine()

questo è in vb.net
:k:
Ultima modifica effettuata da LittleHacker 30/09/09 14:53
aaa
30/09/09 15:02
microprocessore
grazie ma mi sono dimenticato di dire che uso c#. sai dirmi come si fa con c#?
aaa
30/09/09 15:15
LittleHacker
Il convertitore mi dice in questo modo:
 {
    float num = console.readline();
 }

poi boh...:rotfl:
aaa
30/09/09 15:47
Il Totem
Float non esiste in VB.NET, ma si chiama Single.
Inoltre Console.ReadLine() restituisce SEMPRE una stringa. Il fatto che noi assegnamo il risultato di tale funzione ad un numero implica una conversione che avviene implicitamente, e che viene attuata "di nascosto" dal programma.

Invece di usare valori Singole (o Float, che dir si voglia), utilizza delle strutture PointF, che contengono appunto due valori, X e Y. Una volta memorizzate n strutture, basta un semplice ciclo For per iterare attraverso l'array (o la lista) e prendere due elementi alla volta. In sostanza:
PointF Points[] = new PointF[n];

inizializza l'array di punti;

float X, Y;
X = Console.ReadLine();
Y = Console.ReadLine();
Points[i] = new PointF(X, Y);

aggiunge un punto alla collezzione;

e... il ciclo non te lo scrivo, altrimenti ti faccio l'esercizio tutto io.

Riguardo alla "condizione", non ho capito la domanda.
Ultima modifica effettuata da Il Totem 30/09/09 15:48
aaa
30/09/09 19:14
microprocessore
è un esercizio per scuola... devo attenermi alla consegna dell' esercizio e devo usare un vettore di tipo float quindi non posso usare il pointf che tra l'altro non conosco.

hai detto che da string a float fa una conversione implicita, quindi se io scrivo:
vett[k]=Console.ReadLine();

mi converte la stringa in float senza problemi? (vett è di tipo float)

per quanto riguarda la domanda che non hai capito intendo: nel piano ci saranno n punti inseriti dall'utente... come devo impostare il codice per calcolare le distanze tra i punti visto che in base alla loro posizione si dovranno usare o meno le formule del teorema di pitagora?
aaa