IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

[Algo] Fonction tableau en base10 et N


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Janvier 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 13
    Par défaut [Algo] Fonction tableau en base10 et N
    Bonjours à tous j'ai besoin d'aide pour faire un algo donc je m'explique !

    J'ai actuellement fait un algo pour calculer en base 10 dans un tableau mes résultat donc je vous présente mon algo :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Fonction enBase10(Chaine : saisie, Entier : baseInit) : Entier
     
    entier : res, i,p;
     
    Debut
    res:= 0;
    p:= taille(saisie)-1;
    pour i de 0 à taille(saisie) -1 faire
    res:= res+indexDe(tabls, saisie[i])* baseInit^p
    p:=p-1
    fin pour;
    retourne res;
    Fin
    Donc ça c'est pour convertir mes chiffres dans mon tableau en base 10 mais maintenant je dois faire le faire en base N donc voila la fonction mais si quelqu'un peut m'aider pour l'algo ça serait génial car je pige pas

    Fonction enBaseN ( Entier: nb, baseResult) : chaine

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 485
    Par défaut
    Bonjour,

    — À la ligne 7, « p » ne devrait visiblement pas recevoir la taille de ta chaîne, mais la base du nombre à lire (donc, ici, 10) ;
    — Faire une exponentiation est coûteux en informatique, et l'opération n'est pas toujours disponible, spécialement lorsque tu travailles en bas niveau sur des systèmes restreints comme des micro-contrôleurs. Il est beaucoup plus intéressant d'utiliser un accumulateur que tu vas multiplier à chaque tour par p ;
    — Lorsque tu multiplies un nombre décimal par 10, tu le décales d'une colonne à gauche (et réciproquement). L'astuce, c'est que ce n'est pas propre au nombre 10, mais que c'est une propriété arithmétique qui se présente chaque fois que tu multiplies un nombre par sa base. Donc, en binaire, décaler les bits vers la gauche revient à multiplier le nombre par deux.

    Fort de cette dernière indication, tu dois pouvoir adapter facilement ton algorithme à n'importe quelle base.

Discussions similaires

  1. algo et tableau unidimensionnel
    Par elmo93 dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 05/11/2007, 08h06
  2. WMI fonction tableau
    Par BATiViR dans le forum Delphi
    Réponses: 10
    Dernier message: 11/04/2007, 14h21
  3. Réponses: 13
    Dernier message: 13/10/2005, 16h03
  4. Réponses: 3
    Dernier message: 05/10/2005, 17h26
  5. [LG]Parametres ou resultat de fonction : tableau
    Par patdez dans le forum Langage
    Réponses: 2
    Dernier message: 12/05/2004, 12h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo