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

Caml Discussion :

[OCaml] Multiplication de deux polynômes


Sujet :

Caml

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 15
    Points : 12
    Points
    12
    Par défaut [OCaml] Multiplication de deux polynômes
    Salut à tous,

    Je me présente, je suis un étudiant qui réside au Portugal, je débute tout juste dans ce langage, je dois réaliser un programme qui puisse faire la multiplication de deux polynômes avec un maximum de 3 variables, comme l’exemple suivant :

    Sur la première ligne : 2.x^2.y.z + 3.x.y.z + 4

    Sur la deuxième ligne : 2.x^2.y.z + 3.x.y.z + 4

    Le résultat : 4.x^4.y^2.z^2 + 12.x^3.y^2.z^2 + 9.x^2.y^2.z^2 + 16.x^2.y.z + 24.x.y.z + 16

    Pour l’instant, je n’ai que ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    (*Problema B
    Autor: Luis-Filipe Marcos Parente a15196 Eng. Informatica*)
     
     
    open List;;
    open Printf;;
    open Str;;
     
    type componente = int*((string*int) list);;
    type polinomio = componente list;;
     
    (*type componente defined;;*)
    (*type polinomio defined;;*)   
     
    let poly1 = read_line();;
    let poly2 = read_line();;
     
    let separar_mais l = 
    let reg_mais = regexp_string " + " in 
    split reg_mais l;;
     
    let separar_ponto l = 
    let reg_ponto = regexp_string "." in 
    split reg_ponto l;;
     
     
    let separar_pot l = 
    let reg_pot = regexp_string "^" in 
    split reg_pot l;;
     
     
    let ler_polinomio s = List.map (fun x -> (List.map separar_pot x)) (List.map separar_ponto (separar_mais s));;
     
    let p = ler_polinomio poly1;;
     
    let rec tamanho l =
              match l with
              [] -> 0
              |_::li -> 1 + tamanho li;;  
     
    let m = tamanho p;;
     
    (*let print_list = fun p -> (do_list print_string p ; print_newline());;*)
     
     
    (*List.iter f p;;*)
     
    (*Printf.printf  "%d\n" m;;*)
     
    (*List.iter print_string p;;*)
    Je vous remercie sincèrement de votre aide, Snyper_ubi


  2. #2
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    bienvenue et



    plusieurs choses...

    -> savoir séparer les sous-problèmes !!!

    donc :
    1) quelle structure de données représente tes polynômes ?
    2) quel algorithme souhaites-tu utiliser ?


    ensuite, on pensera à l'implémentation dans le langage cible
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

Discussions similaires

  1. Convolution d'une image par la multiplication de deux filtres
    Par Azhag70 dans le forum Traitement d'images
    Réponses: 1
    Dernier message: 31/03/2008, 15h26
  2. multiplication de deux champs dans formulaire
    Par catherineh dans le forum VBA Access
    Réponses: 3
    Dernier message: 19/03/2008, 05h54
  3. Multiplication de deux signaux
    Par Neocid dans le forum Signal
    Réponses: 10
    Dernier message: 03/03/2008, 12h52
  4. Calcul de la multiplication de deux matrices
    Par al_alias dans le forum Pascal
    Réponses: 2
    Dernier message: 30/05/2007, 23h37
  5. Réponses: 8
    Dernier message: 14/05/2007, 18h10

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