Simple division

Résolu
parousky Messages postés 325 Date d'inscription   Statut Membre Dernière intervention   -  
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 !

3 réponses

  1. one21 Messages postés 486 Statut Membre 102
     
    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
    1. Blunderer Messages postés 273 Date d'inscription   Statut Membre Dernière intervention   83
       
      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
    2. one21 Messages postés 486 Statut Membre 102
       
      Oui, par exemple.
      0
  2. parousky Messages postés 325 Date d'inscription   Statut Membre Dernière intervention   6
     
    A oui ça marche très bien ! Merci beaucoup !
    0
  3. parousky Messages postés 325 Date d'inscription   Statut Membre Dernière intervention   6
     
    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
    1. one21 Messages postés 486 Statut Membre 102
       
      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