begin process at 2010 03 16 08:49:53
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Assembleur

 > 

Archives

 > 

Aide a la programmation Windows

 > 

Palindrome


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Palindrome

mardi 17 janvier 2006 à 12:24:34 | Palindrome

RootASM

Bonjour,

Je désire faire un palindrome qui, demande d'entrer au clavier une chaine de caractere et indique si c'est un palindrome ou non et si oui affiche la symetrie.
 
EX: kayak => palindrome => symetrie: kay

Le probleme vient que je voudrais bien convertir les minuscules et les "é, è.." en majuscule.
Pour l'affichage de la symetrie, probleme egalement.

Si vous pouvez m'aider ?

Merci 
mardi 17 janvier 2006 à 13:30:34 | Re : Palindrome

Nasman

Bonjour RootASM,

Un exemple de traitement de palindrome existe sur ce site
http://www.asmfr.com/code.aspx?ID=15273

Il te faut déterminer la longueur de ta chaine et comparer le début avec la fin et progresser de gauche à droite dans un cas et de droite à gauche dans l'autre.
La conversion minuscule majuscule ne pose pas de pb particulier:
Si la valeur hexa du code est comprise entre 61h et 7Ah alors il suffit de retirer 20h ("A"=41h, "a"=61h). Pour les é, è, ê et autre caractères accentués, je ne vois que des test au cas par cas ou de passer par une table du type:

code ascii   caractère   caractère de remplacement
0                  vide            ?
"                     "                "
41                  A               A
42                  B                B
"                     "                  "
5A                  Z                Z
61                   a                A
62                   b                B
7A                  z                 Z
C9                  É                E
E9                   é                E

Bonne prog

mercredi 18 janvier 2006 à 10:10:41 | Re : Palindrome

RootASM

Salut,

Voila ce que j ai commencer a faire. Pour l'instant il ne regarde que si c'est des minuscules et il les transforme

.MODEL SMALL 
.STACK 
.DATA
 
   carintro db "Veuillez entrer la chaine de caractères à tester : $" 
   carjuste DB 0ah, 0dh, "La chaine que vous avez entré est un palindrome !$" 
   carfaux DB 0ah, 0dh, "La chaine que vous avez entré n'est pas un palindrome !$" 
   recommencer db 'Appuyer sur ENTER pour recommencer ou sur ESC pour arreter$'
   vecteur DB 250, ?, 251 dup ('$')

.CODE 

    MOV AX, @DATA 
    MOV DS, AX
    
    MOV AX, 0900h 
    LEA DX, carintro 
    INT 21h
    mov bx, 0
main:
    mov ah, 01h
    int 21h

    cmp al, 61h
    jb vec
    cmp al, 7ah
    ja vec 

    sub al, 20h
vec:
    mov vecteur[bx], al
    inc bx
    jmp main 

    mov dx, bx
    mov bx, 0
palin :
   cmp bx, dx 
   jae fin1 
   cmp vecteur[bx], 20h 
   je bx_space 
   cmp vecteur[dx], 20h 
   je dx_space 
   mov cx, vecteur[dx] 
   cmp vecteur[bx], cx 
   jne fin2 
   dec dx 
   inc bx 
   jmp palin 
 
bx_space : 
   inc si 
   jmp palin 
 
dx_space : 
   dec di 
   jmp palin

fin1 : 
   mov ax, 0900h              ; affichage du message de succès 
   lea dx, carjuste 
   int 21h
   mov ax, 0900h
   lea dx, vecteur
   int 21h  
   jmp RECOMMENCE 
 
fin2 : 
   mov ax, 0900h               ; affichage du message d'échec 
   lea dx, carfaux 
   int 21h

RECOMMENCE:

      MOV dh,22
      MOV dl,10
      MOV ah,02h
      INT 10h

      MOV dx,offset recommencer
      PUSh AX
      MOV AX, 0900h
      INT 21h
      POP AX

      MOV ah,1
      INT 21h
      CMP al,1Bh
           
quit : 
   mov ax, 4c00h 
   int 21h 
 
end

mercredi 18 janvier 2006 à 11:44:57 | Re : Palindrome

RootASM

Resalut,

J'aurais aimer savoir si en utilisant la fonction "0ah" pour la saisie des caracteres, j'ai possibilité de comparer chaque lettre entrer par l'utilisateur pour pouvoir les transformées en majuscule si besoin est ?
Dans le Norton Guide je n'ai rien trouvé.

Merci



Cette discussion est classée dans : palindrome, probleme, symetrie


Répondre à ce message

Sujets en rapport avec ce message

Probleme de dll! (arguments...) [ par BlackWizzard ] salut les pro!voila, G une fonction contenu dans une dll mais cette fonction, je ne sait pas comment lui ajouter des arguments...voici un extrait du c PROBLEME DE LINK [ par gg00xiv ] je cree deux .obj avec le compilateur NASMW et la commande suivante : "nasmw -f obj hello.asm -o hello.obj" . Le probleme c que je veux les linker ens Palindrome en ASM [ par bugs2600 ] Salut,Quelqu'un pourrait-il m'aider, je suis débutant en asm et je dois faire un exrecice sur un palindrome c'est-à-dire que je dois entrer au clavier Palindrome en ASM [ par bugs2600 ] Salut,Quelqu'un pourrait-il m'aider, je suis débutant en asm et je dois faire un exrecice sur un palindrome c'est-à-dire que je dois entrer au clavier probleme avec l interruption affichage de chaine [ par M0NTOYA ] bon voila mon probleme ,qd j utilse cette procedure(presentation) pour afficher une chaine de caractere presentation PROC PUSHA MOV AH,09h INT 21h POP probleme avec l interruption affichage de chaine [ par M0NTOYA ] bon voila mon probleme ,qd j utilse cette procedure(presentation) pour afficher une chaine de caractere presentation PROC PUSHA MOV AH,09h INT 21h POP Probleme avec le serveur [ par TotalIllusion ] jai poster ma source (un prog sur les ISR et le serveur veut pas mettre le .zip (isr.zip).sa a cree 3 message comme dequoi jaurrais poster 3 source et projet assembleur [ par zipposou ] Salut a tousj'ai un enorme probleme, j'ai un projet à rendre en assembleur 68000, c en fait le jeu du serpent.Le probleme c que je ne connais pas gran projet assembleur [ par zipposou ] Salut a tousj'ai un enorme probleme, j'ai un projet à rendre en assembleur 68000, c en fait le jeu du serpent.Le probleme c que je ne connais pas gran HELP_HELP_HELP [ par zipposou ] Salut a tousj'ai un enorme probleme, j'ai un projet à rendre en assembleur 68000, c en fait le jeu du serpent.Le probleme c que je ne connais pas gran


Nos sponsors


Sondage...

Comparez les prix


HTC Hero

Entre 550€ et 550€

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,343 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales