PDA

Visualizza la versione completa : [C] sqrt()!


Lamba
29-03-2012, 17:07
salve, sto cercando il modo di calcolare la radice di un float, ma non riesco! :dhò:

ecco la il codice incriminato:


#include <stdio.h>
#include <stdlib.h>
#include<math.h>

...

if (x<0){
float y=sqrtf(-x);
printf("\nLequazione non ha soluzioni reali, ma una soluzione immaginaria: %0.1fi", y);
}
...


sapreste darmi un consiglio? :mame:

LeleFT
29-03-2012, 17:18
Dal codice che hai postato si direbbe che tu stia tentando di fare un cosa impossibile: calcolare la radice quadrata di un numero negativo.

Osserva bene quello che fai:

1) Controlli se X < 0
2) Se è così (ovvero, X < 0, ergo un numero negativo), metti in Y il suo inverso.
3) Tenti comunque di calcolare la radice quadrata di X (che è ancora un numero negativo!)

Cerca di rivedere bene quello che fai.


Ciao. :ciauz:

Patrick Jane
29-03-2012, 17:18
Ma di un float, o di un numero negativo? Non capisco perchè fai -x. Posso supporre perchè hai la radice quadrata di un numero negativo, quindi tu vuoi calcolare la quadrata ed aggiungere la i nella stampa.

Per "invertire", ovvero da -n a +n (e viceversa) puoi usare il complemento a 2. (~x)+1 leggasi: NOT x + 1)


Comunque in C puoi gestire i numeri complessi.


EDIT: Preceduto da Lele :P

Lamba
29-03-2012, 17:21
scusate, avevo copiato male xP ora ho copiaincollato!

Lamba
29-03-2012, 17:22
Originariamente inviato da Patrick Jane

Comunque in C puoi gestire i numeri complessi.

EDIT: Preceduto da Lele :P

non so farlo :P sono alle prime armi!

oregon
30-03-2012, 01:22
Originariamente inviato da Lamba
non so farlo :P sono alle prime armi!

Ma qual è il tuo problema?

Loading