CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

(algo) Une petite question...

lag-it
lag-it
Niveau 10
31 janvier 2005 à 20:02:25

( tiens mais au fait plus personne ne respecte l´habitude de mettre entre parenthèses le type de sujet abordé dans le topic :o)) )

Bon alors je vais donner une petite définition d´une structure de donnée un peu formelle mais elle va s´éclairer par la suite :

Soit une structure ( rien a voir avec struct) que je nommerai S définie de la sorte :
( note : il s´agit d´une chaine de caractère)

S = " ("x"op"y")"

( bon c´est un mélange de C pour la concaténation des chaines adjacentes et de n´importe quoi pour l´affectation, mais on s´en fout :-d )

Donc en faite ca se compose de :

" ("
" )"
" op" : un operateur, type +,-,*,/...
x ou y : qui est soit un caractère ( compris entre 0 et 9) soit une autre structure S imbriquée dedans.

On peux ainsi avoi un truc genre :

( 2+(3*5))
ou ( 3*5) est une structure S imbriquée dans une autre.

Ma question, existe-t-il un moyen académique reconnu ou beau pour formatter une chaine de caractère de sorte que :
Le programme accepte en entrée :

" 2+3*5"

et renvoie la chaine :

" (2+(3*5))" ?

( _:(´a ref*´a)->unit=unit ? )

vegetto_fuse
vegetto_fuse
Niveau 10
31 janvier 2005 à 20:05:29

post ton message dans le topic programmation,
tu auras surement + de réponses!
:ok:

LGV
LGV
Niveau 28
31 janvier 2005 à 20:29:51

dans les choses parenthésées ou à parentheser, des systemes avec des piles ça marche assez bien en général ; mais je n´ai pas d´algo clef en main à te proposer...

lag-it
lag-it
Niveau 10
31 janvier 2005 à 21:55:14

Ouai c´est ce que je comptais faire mais bon, ca me semble un peut bourrin :-d
Faut que j´écrive une fonction propre...

dnob700
dnob700
Niveau 10
31 janvier 2005 à 22:19:40

putain, vous faites des trucs bien mieux que chez nous.

n´empêche sur le site de l´inria, parmis les exemple de code pour du caml, il y a si je me souvient bien des trucs dans ce genre, par contre je n´ai pas la moindre idée où, va falloir chercher, mais je croit qu´il donne un interpréteur complet de chaine de ce type.

sinon ça passe par de l´analyse syntaxique, mais c´est assez compliqué.

lag-it
lag-it
Niveau 10
01 février 2005 à 12:15:36

dnob700 > Ca c´est pour mon TIPE, on en est pas encore aussi loin en cours, mais c´est vrai qu´on rush pas mal ( du coup les 4/5 du groupe info sont là :ouch2: polymorphisme ? )

Et je compte le réaliser en C :)

dnob700
dnob700
Niveau 10
01 février 2005 à 16:27:53

ah en C... dans ce cas là, le " plus simple" sans passer par des analyseur syntaxique, c´est d´utiliser des piles.

on en a déjà parler ya quelques temps et j´avais vu une fois une page vraiment géniale qui expliquait comment le faire, malheureusement, pas moyen de la retrouver.

mais l´idée c´est de découper en tronçon de valeurs et d´opérateurs, puis de regarder uniquement les opérateur juste a coté pour voir s´il ont priorité ou non. comme ça en un seul balayyage de ta chaine tu peut la formatter.

lag-it
lag-it
Niveau 10
01 février 2005 à 16:40:53

Dommage que tu aies paumé ta page :)
Ouai je pense me tourner vers les piles.

C´est quand même pas mal CAML : au début ca me faisait un peu :malade: , mais en fait le fait de considérer chaque ojet comme une entitée mathématique avec pour les fonction les ensembles de départ et d´arrivé ( ce qui donne parfois des trucs en cascade assez bourrin avec la curryfication :-d ) est bien pensé.
Le typage des données automatiques et le phénomène de " template implicites" ( ´a : polymorphisme ) qui en découle est appréciable.
Bon y a quand même quelques bizarrerie ( les références comme variables locales dans les blocs de séquences d´instruction :doute: bizarre...)

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment