Simple division
Résolu
parousky
Messages postés
325
Date d'inscription
Statut
Membre
Dernière intervention
-
one21 Messages postés 486 Statut Membre -
one21 Messages postés 486 Statut Membre -
Bonjour,
je suis vraiment tout nouveau en C, et un truc m'échappe, comment fait-on une division qui renvoie des réels ?
J'ai essayé le slash et le pourcentage mais ça ne marche pas...
Par exemple, j'ai écrit ça :
public float suite(int n)
{
if(n==0)
return(0);
else
return(1/(n*n));
}
J'ai testé pour n=2 mais j'ai obtenu 0 et 1 (en utilisant les deux divisions / et %).
Pourriez-vous m'éclairer ?
Merci pour vos réponses !
je suis vraiment tout nouveau en C, et un truc m'échappe, comment fait-on une division qui renvoie des réels ?
J'ai essayé le slash et le pourcentage mais ça ne marche pas...
Par exemple, j'ai écrit ça :
public float suite(int n)
{
if(n==0)
return(0);
else
return(1/(n*n));
}
J'ai testé pour n=2 mais j'ai obtenu 0 et 1 (en utilisant les deux divisions / et %).
Pourriez-vous m'éclairer ?
Merci pour vos réponses !
3 réponses
-
Pour représenter des réels il faut utiliser des types pouvant représenter des nombres à virgule tels que float ou double.
Tu effectues une division entière avec n = 2 tu as : 1 / 4 = 0.25 mais comme tu utilises un type entier seule la partie entière est conservée et donc tu obtiens 0.
Quand à l'opérateur % il est appelé modulo et c'est par définition le reste de la division entière. La division entière de 1 par 4 vaut 0 et le reste est donc 1. -
A oui ça marche très bien ! Merci beaucoup !
-
Et je voulais savoir si vous pouviez m'aider à écrire un algorithme qui calcule la limite d'une suite.
Je pensais poser un réel e qui serait ma précision et voir à partir de quel rang on a
suite(n)-suite(n-1)<e.
Mais je ne sais pas comment écrire ça...