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

C Discussion :

Simplification d'équation linéaire algébrique


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de Shivaneth
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 349
    Par défaut Simplification d'équation linéaire algébrique
    Bonjour,
    je cherche à réaliser une fonction qui prend en paramètre une chaine de caractère représentant une partie d'une équation (du style : (i+3)*2+i) capable de me retourner l'équation simplifiée ( 3i+6 ). J'ai cherché sur le net et trouvé plusieurs site qui proposent des outils en ligne pour simplifier les équations.

    Malheureusement, on n'a pas accès à l'algorithme utilisé et je suis donc à la recherche d'un outil en C permettant de faire cette simplification, ou bien d'un algorithme.

    Mon problème étant que pour le programme dans lequel je dois intégrer cette fonctionnalité, j'utilise déjà un parseur particulier, je ne considère donc pas (pour le moment) la possibilité de créer un parseur avec flex/lex et bison/yacc afin de générer l'arbre représentant l'équation et ensuite de l'étudier.

    Voilà, en espérant avoir été claire

    Shiv@

  2. #2
    Expert confirmé

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut
    Citation Envoyé par Shiva Skunk Voir le message
    Mon problème étant que pour le programme dans lequel je dois intégrer cette fonctionnalité, j'utilise déjà un parseur particulier, je ne considère donc pas (pour le moment) la possibilité de créer un parseur avec flex/lex et bison/yacc afin de générer l'arbre représentant l'équation et ensuite de l'étudier.
    Je ne vois pas comment tu veux le faire simplement sans. Le plus simple est d'utiliser justement ces outils pour rapidement faire ton programme. Sachant que ce genre de chose est le premier exercice que l'on demande aux étudiants de compilation.

    Jc

  3. #3
    Membre chevronné Avatar de Shivaneth
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 349
    Par défaut
    Il est possible d'utiliser plusieurs parseurs pour un même programme?

  4. #4
    Expert confirmé

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut
    Citation Envoyé par Shiva Skunk Voir le message
    Il est possible d'utiliser plusieurs parseurs pour un même programme?
    Si ton programme est bien fait oui puisque c'est toi qui appelle le parseur. Il suffit d'appeler la fonction d'entrée lex/yacc avec l'entrée que tu veux...

    Jc

  5. #5
    Membre chevronné Avatar de Shivaneth
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 349
    Par défaut
    Je ne vois vraiment pas comment faire, j'essaye de partir sur une structure comme celle-ci :

    struct Node{
    struct Node *fils_gauche;
    struct Node *fils_droite;
    char *val;
    }

    pour ensuite y stocker l'arbre représentant mon expression

    Cependant je dois avoir des problèmes de neurones en ce moment parce que j'ai trop de mal à partir pour la création de l'arbre alors en plus après faut que je simplifie l'équation donc si vous aviez des pistes ce serait pas de refus.

    Merci d'avance

    (vive les projets en retard :p)

  6. #6
    Membre chevronné Avatar de Shivaneth
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 349
    Par défaut
    Bon alors, on avance, on avance ...

    J'ai maintenant l'arbre binaire représentant l'expression arithmétique.
    Pour le simplifier j'ai pensé à plusieurs cas
    si on tombe sur un signe * on le fait descendre dans l'arbre (correspond au développement d'un facteur)
    si on a un + on tente d'évaluer les deux fils et de les ajouter

    mais j'ai quelques difficultés à mettre cet algo en oeuvre et surtout à voir les autres cas de celui-ci.

    Si vous aviez des idées ...

Discussions similaires

  1. Réponses: 6
    Dernier message: 08/12/2008, 15h31
  2. Réponses: 2
    Dernier message: 18/06/2008, 14h45
  3. Résolution de systèmes d'équations linéaires
    Par Eric06 dans le forum MATLAB
    Réponses: 3
    Dernier message: 14/06/2008, 17h19
  4. Réponses: 1
    Dernier message: 11/01/2007, 09h00
  5. Déterminer les coefficients moyens d'une équation linéaire
    Par Oliveuh dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 11/01/2005, 23h23

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