Simple division

Résolu/Fermé
parousky Messages postés 325 Date d'inscription mardi 11 septembre 2012 Statut Membre Dernière intervention 20 février 2022 - 25 oct. 2012 à 22:06
one21 Messages postés 375 Date d'inscription jeudi 7 janvier 2010 Statut Membre Dernière intervention 4 juillet 2013 - 31 oct. 2012 à 18:58
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 !



A voir également:

3 réponses

one21 Messages postés 375 Date d'inscription jeudi 7 janvier 2010 Statut Membre Dernière intervention 4 juillet 2013 102
Modifié par one21 le 25/10/2012 à 22:46
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.
3
Blunderer Messages postés 273 Date d'inscription mardi 17 juillet 2012 Statut Membre Dernière intervention 6 décembre 2012 83
Modifié par Blunderer le 26/10/2012 à 14:58
Tu veux donc dire qu'il faudrait qu'il fasse :

public float suite(float n)  
{  
    if (n == 0)  
        return (0);  
    else  
        return (1 / (n * n));  
}

???
0
one21 Messages postés 375 Date d'inscription jeudi 7 janvier 2010 Statut Membre Dernière intervention 4 juillet 2013 102
31 oct. 2012 à 18:58
Oui, par exemple.
0
parousky Messages postés 325 Date d'inscription mardi 11 septembre 2012 Statut Membre Dernière intervention 20 février 2022 6
26 oct. 2012 à 19:11
A oui ça marche très bien ! Merci beaucoup !
0
parousky Messages postés 325 Date d'inscription mardi 11 septembre 2012 Statut Membre Dernière intervention 20 février 2022 6
26 oct. 2012 à 19:26
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...
0
one21 Messages postés 375 Date d'inscription jeudi 7 janvier 2010 Statut Membre Dernière intervention 4 juillet 2013 102
31 oct. 2012 à 18:58
Avec aussi peu de détails moi non plus. Je te conseille de créer un nouveau sujet et de passer celui-ci en "résolu" ;)
0