wazomania Δημοσ. 30 Οκτωβρίου 2006 Δημοσ. 30 Οκτωβρίου 2006 Παιδιά πως μπορώ να βάλω στην C την τρίτη ρίζα ή την τέταρτη ρίζα ενός αριθμού?
gremlin Δημοσ. 30 Οκτωβρίου 2006 Δημοσ. 30 Οκτωβρίου 2006 πρώτον ΔΕΝ ξέρω αν υπάρχει έτοιμη συνάρτηση. αν όντως δεν υπάρχει τότε βλέπω 2 τρόπους α) μπακάλικος: βρές την δύναμη του αριθμού εις την 1/3 (για τρίτη ρίζα), 1/4 (για τέταρτη ρίζα) κοκ β) πιο σωστός: φτιάξε μια float συνάρτηση sqrt_new(int taksi, float number) και επέστρεφε την τιμή number^(1/taksi). έτσι καλώντας για την μεταβλητή χ την 5η ρίζα γράφεις απλώς: y=sqrt_new(5,x); so simple
takeda Δημοσ. 30 Οκτωβρίου 2006 Δημοσ. 30 Οκτωβρίου 2006 #include <math.h> double pow(double x, double y); DESCRIPTION The pow() function computes the value of x raised to the power y. If x is negative, y must be an integer value. οπότε double triti_riza_tou_100 = pow (100, 1/3);
dop Δημοσ. 31 Οκτωβρίου 2006 Δημοσ. 31 Οκτωβρίου 2006 Η καλύτερη λύση είναι να δημιουργήσεις την δικιά σου συνάρτηση, χρησιμοποιώντας κάποιο ανάπτυγμα για την έρευση της ρίζας.
gianni7 Δημοσ. 9 Νοεμβρίου 2006 Δημοσ. 9 Νοεμβρίου 2006 to pio aplo einai na eisageis tin <math.h> meta ama thes na dineis esu ta dedomena i na ta eisageis apo kapoio arxeio tote i tha einai me tin entoli scanf gia eisagwgi apo to pliktrologio i px input1=fopen("times.txt","r"); gia na diavasei apo to arxeio.... an thes tis times tote kane ena kolpo na stis bgazei stin eksodo ws x=pow(8,1/3); kai tha sou vrei tin 3h riza tou 8 pou einai to 2 elpizw na voithisa..genikws an xrisimopoihseis tin pow(a, tote sou upsoni to a stin dunami b.... arkei fusika ama thes rizes na exeis valei double gia na sou bgalei kalo apotelesma
takeda Δημοσ. 9 Νοεμβρίου 2006 Δημοσ. 9 Νοεμβρίου 2006 btw κόιτα και εδώ http://www.in.gr/directory/23/dir2323.0.asp
chiossif Δημοσ. 9 Νοεμβρίου 2006 Δημοσ. 9 Νοεμβρίου 2006 /* Ch Iossif's: abs, exp, */ /* log and pow functions */ /* For testing purposes only ! */ /* Use at your own risk ! */ double myabs(double x){ return x>0?x:-x; } #define EPS 1e-9 double myexp(double x){ double or, s; int i; or=x; s=1+or; i=1; while (or>EPS) s+=or=or*x/++i; return s; } double mylog(double x){ double or, s; int i; if (x>0){ x=(x-1)/(x+1); or=x; s=or; i=1; while (or>EPS) s+=or=or*i*x*x/(i+=2); return 2*s; } } double mypow(double y, double x){ int ix,ns,pt; double z; if (myabs(x-(int)x)<EPS){ ix=(int)((ns=x<0)?-x:x); for(pt=1;pt<=ix;pt<<=1); for (z=y,pt>>=1;pt>>=1;){ z*=z; if(ix&pt)z*=y; } return ns?1.0/z:z; } else if (y>0) return myexp(x*mylog(y)); else return 1.0; } /*...και ο κώδικας ξερός - gCppX */ ...λυπάμαι και ζητώ συγνώμμη για τις φατσούλες. Πιστεύω ότι δεν θα 'ναι δύσκολο να τις "βγάλετε".
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.