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 :

V�rifier si une chaine de caract�res est un ambigramme


Sujet :

C

  1. #1
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    F�vrier 2024
    Messages
    28
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (�le de France)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : F�vrier 2024
    Messages : 28
    Par d�faut V�rifier si une chaine de caract�res est un ambigramme
    Bonjour,

    je voudrai �crire un pgm en C qui permet de v�rifier si une chaine de caract�res est un ambigramme (Un mot ou une phrase qui peut �tre lue de la m�me mani�re m�me lorsqu'il elle est tourn�e ou invers�e. Par exemple, le mot � SWIMS � peut �tre lu de la m�me mani�re lorsqu'il est tourn� � 180 degr�s).

    Par avance merci pour votre aide.

  2. #2
    Membre �m�rite
    Avatar de Da�manu
    Homme Profil pro
    D�veloppeur touche � tout
    Inscrit en
    Janvier 2011
    Messages
    736
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur touche � tout

    Informations forums :
    Inscription : Janvier 2011
    Messages : 736
    Par d�faut
    Bonjour, bienvenue sur le forum

    Conform�ment aux r�gles de ce forum (section IV-N), on pr�f�rera t'assister pour faire l'exercice, mais pas te fournir une solution toute faite.

    En l�occurrence, r�fl�chir avec papier et stylo permet de visualiser la solution, � savoir faire une boucle qui va comparer :
    • le premier et le dernier caract�re
    • le deuxi�me et l'avant dernier caract�re
    • le troisi�me et l'avant-avant dernier
    • etc

    La comparaison se fera avec une fonction particuli�re (qui dira W=M ou M=W, etc)
    Si toutes les comparaisons sont OK, on retourne true.
    Si une des comparaisons ne va pas, on quitte la fonction en retournant false.

    Je te laisse convertir �a en C, et si tu as des questions n'h�site pas � revenir vers nous

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    F�vrier 2006
    Messages
    12 841
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 12 841
    Billets dans le blog
    1
    Par d�faut
    Bonjour
    Bizarre comme algo parce qu'il y a peu de lettres qui matchent. Seules les lettres H, I, N, O, S et Z peuvent se retourner sans changer de sens. Plus M et W qui deviennent l'une l'autre.
    Donc d�j� �liminer tout mot qui contient une des 18 lettres restantes. Ensuite un test d'anagramme avec un cas particulier sur "M" et "W"...
    Mon Tutoriel sur la programmation �Python�
    Mon Tutoriel sur la programmation �Shell�
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les diff�rentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  4. #4
    Membre chevronn�
    Homme Profil pro
    Urbaniste
    Inscrit en
    Ao�t 2023
    Messages
    387
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activit� : Urbaniste

    Informations forums :
    Inscription : Ao�t 2023
    Messages : 387
    Par d�faut
    opodo ? en minuscule.

  5. #5
    Expert confirm�
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 773
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 773
    Par d�faut
    L'algo peut �tre simple

    On prend la moiti� du mot et on la parcourt
    1. on arr�te et on retourne faux si on a 1 lettre qui ne se retourne pas - A, B, L, � � d�terminer
    2. on remplace toutes les lettres qui "ne se retournent pas � l'identique" - M -> W, W -> M, effectivement p -> d, d -> p � � d�terminer


    Ensuite il faut faire 1 test anagramme en partant du milieu - ]milieu .. d�but] == ]milieu .. fin]

    �dit: En regardant la page Wikip�dia d'ambigramme cela semble �tre 1 gros d�lire sym�trie, rotation, horizontale, 180�, 45�, math�matique, �
    Mais cela d�pend bien de la police utilis�e : donc bonne chance
    ambigramme est 1 ambigramme (rotation en prenant le r comme milieu) en bidouillant le a/g et le deuxi�me m pour qui ressemble � ib : donc bon, certains sont assez illisibles

    LOUL "Le logo inOui des TGV de la SNCF est un ambigramme pivotant."

  6. #6
    Membre chevronn�
    Homme Profil pro
    Urbaniste
    Inscrit en
    Ao�t 2023
    Messages
    387
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activit� : Urbaniste

    Informations forums :
    Inscription : Ao�t 2023
    Messages : 387
    Par d�faut
    l� o� �a devient difficile, c'est de le faire avec du chinois / japonais

  7. #7
    Membre Expert

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 648
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 648
    Par d�faut
    Bonjour foetus,

    Citation Envoy� par foetus Voir le message
    L'algo peut �tre simple
    On prend la moiti� du mot et on la parcourt
    ...
    Pas exactement la moiti� mais (length(str) + 1)/2 - division enti�re. Ou, en reprenant la proposition de parcours, un indice qui croit du d�but et un indice qui d�croit depuis la fin avec arr�t quand l'indice montant devient sup�rieur � l'indice qui descend (l'�galit� �ventuelle doit �tre conserv�e m�me si cela induit un test suppl�mentaire).

    On retrouve le m�me probl�me avec la notion de "milieu".

    Salut

  8. #8
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    F�vrier 2006
    Messages
    12 841
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 12 841
    Billets dans le blog
    1
    Par d�faut
    Citation Envoy� par Guesset Voir le message
    Pas exactement la moiti� mais (length(str) + 1)/2 - division enti�re.
    En plus de �a, la lettre milieu ne peut pas faire partie des lettre sp�ciales M/W et p/d car si elle pivote � 180� elle change de signification...
    Mon Tutoriel sur la programmation �Python�
    Mon Tutoriel sur la programmation �Shell�
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les diff�rentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  9. #9
    Membre Expert

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 648
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 648
    Par d�faut
    Bonjour Sve,

    Citation Envoy� par Sve@r Voir le message
    En plus de �a, la lettre milieu ne peut pas faire partie des lettre sp�ciales M/W et p/d car si elle pivote � 180� elle change de signification...
    Oui, c'est pour �a que j'ai conserv� le milieu, s'il existe, car C[i] aura du mal � �tre � la fois 'M' et 'W'

    Je crois que je n'explicite pas assez. Heureusement que certains ne laissent rien passer.

    Salut

  10. #10
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    F�vrier 2024
    Messages
    28
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (�le de France)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : F�vrier 2024
    Messages : 28
    Par d�faut
    Bonjour,

    MERCI � tous pour vos r�ponses.

  11. #11
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    F�vrier 2006
    Messages
    12 841
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 12 841
    Billets dans le blog
    1
    Par d�faut
    Sur le site de wikipedia donn� par foetus, le "a" est �crit sans sa petite queue en bas � droite, de telle fa�on qu'il devient un "e" quand on le pivote. De m�me le "r" est �crit lui avec une petite queue en plus pour qu'il redonne "r" � l'arriv�e. Et le "b" et "i" eux il sont carr�ment accol�s/arrang�s pour former ensembles un "m".
    Peut-�tre qu'on peut inclure ces r�gles dans la fonction (sinon c'est un peu trop facile quoi...)
    Mon Tutoriel sur la programmation �Python�
    Mon Tutoriel sur la programmation �Shell�
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les diff�rentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  12. #12
    Expert confirm�
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 773
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 773
    Par d�faut
    Citation Envoy� par Sve@r Voir le message
    Peut-�tre qu'on peut inclure ces r�gles dans la fonction (sinon c'est un peu trop facile quoi...)
    C'est justement pour cela que j'ai regard� la page Wikip�dia parce que c'est plus "du dessin" qu'autre chose.

    Et donc, le meilleur algo c'est 1) d�tection des contours 2) trouver la boite englobante (assez facile, c'est juste 1 rectangle)
    � partir de l� je pense que tu peux tout g�rer : rotation, sym�trie, sym�trie centrale, � (avec 1 taux de ressemblance)

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 2
    Dernier message: 20/10/2007, 15h54
  2. V�rifier qu'une chaine de caract�re est bien pr�sente
    Par kilian67 dans le forum G�n�ral JavaScript
    R�ponses: 12
    Dernier message: 28/09/2007, 18h10
  3. Verifier si une chaine de caractere est situe dans une chaine de caractere
    Par gregounnet dans le forum Macros et VBA Excel
    R�ponses: 2
    Dernier message: 30/07/2007, 15h31
  4. R�ponses: 9
    Dernier message: 19/10/2006, 17h02
  5. R�ponses: 4
    Dernier message: 07/09/2006, 15h41

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