PDA

View Full Version : [C++] parte intera di un numero doble


archimedeonline
19-10-2007, 20:37
ciao ragazzi, volevo sapere come potevo fare la radice quadrata di un numero e avere come risultato solo la parte intera...


ho usato per la radice queste specifiche:

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

int main(void)
{
double x = 4.0;
double result;

result = sqrt(x);

printf("\nLa radice quadrata di %lf e' %lf\n\n", x, result);
system("PAUSE");
return 0;
}

e cosė mi funziona la radice quadrata per bene, ma io volevo solo la parte intera e ho fatto questa modifica

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

int main(void)
{
double x = 4.0;
double result;
int num;

result = sqrt(x);
num=floor(result);

printf("\nLa radice quadrata di %lf e' %lf\n\n", x, num);
system("PAUSE");
return 0;
}

ho usato floor, ho provato a faer direttamente num=result pesando che c++ tagliasse direttamente lui la parte decimale
facendo cosė mi va tutto in overflow

mi aiutate per favore....aiutooooooooooooooo :muro: :muro: :muro:

okay
19-10-2007, 21:57
ciao ragazzi, volevo sapere come potevo fare la radice quadrata di un numero e avere come risultato solo la parte intera...


ho usato per la radice queste specifiche:

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

int main(void)
{
double x = 4.0;
double result;

result = sqrt(x);

printf("\nLa radice quadrata di %lf e' %lf\n\n", x, result);
system("PAUSE");
return 0;
}

e cosė mi funziona la radice quadrata per bene, ma io volevo solo la parte intera e ho fatto questa modifica

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

int main(void)
{
double x = 4.0;
double result;
int num;

result = sqrt(x);
num=floor(result);

printf("\nLa radice quadrata di %lf e' %lf\n\n", x, num);
system("PAUSE");
return 0;
}

ho usato floor, ho provato a faer direttamente num=result pesando che c++ tagliasse direttamente lui la parte decimale
facendo cosė mi va tutto in overflow

mi aiutate per favore....aiutooooooooooooooo :muro: :muro: :muro:

num=(int)result; //solo parte intera
printf("\nLa radice quadrata di %f e' %d\n\n", x, num);

cosa č floor... forse pavimento?

archimedeonline
19-10-2007, 22:40
num=(int)result; //solo parte intera
printf("\nLa radice quadrata di %f e' %d\n\n", x, num);

cosa č floor... forse pavimento?

ho scritto cosė

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

int main(void)
{
double x = 4.0;
double result;
int num;

result = sqrt(x);
num=(int)result;
printf("\nLa radice quadrata di %lf e' %lf\n\n", x, num);
system("PAUSE");
return 0;
}


ma mi esce un numero gigantesco...stesso problema delle altre volte

okay
19-10-2007, 22:46
questo no č:
printf("\nLa radice quadrata di %f e' %d\n\n", x, num);

archimedeonline
19-10-2007, 23:09
questo no č:
printf("\nLa radice quadrata di %f e' %d\n\n", x, num);

scusmi ma non ho capito niente

okay
20-10-2007, 08:57
scusmi ma non ho capito niente

%d\n\n", x, num);

cosė vs meglio?

archimedeonline
20-10-2007, 09:19
%d\n\n", x, num);

cosė vs meglio?

ho scritto cosė come hai detto tu infatti il codice diventa

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

int main(void)
{
double x = 4.0;
double result;
int num;

result = sqrt(x);
num=(int)result;
printf("\nLa radice quadrata di %lf e' %lf\n\n", x, num);
system("PAUSE");
return 0;
}

ma non va lo stesso mid a overfloat

okay
20-10-2007, 10:20
aspetta... forse ho capito


%d


cosė č meglio?

Edit: controlla questa riga se č come la tua
printf("\nLa radice quadrata di %lf e' %lf\n\n", x, num);

Alla visita oculistica:
Medico: "Signore mi legga le lettere del cartello"
Paziente: "...hmm... quale cartello scusi..."

archimedeonline
20-10-2007, 10:26
aspetta... forse ho capito


%d


cosė č meglio?

problrma risplto grazie

cosė andava bene come mi avevi detto all'inizio
result = sqrt(x);
num=(int)result;

il fatto č che in quel programma non funzinava, ne ho fatto uno nuovo on altre librerie e tutto va bene ho usato il COUT


ciao a tutti