Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    87

    [C] Trovare palindromi per parola, frase, riga

    Ciao a tutti, premetto che sto cercando di accumulare qualche idea perché io non ne ho praticamente!
    Partendo dal caso più facile, palindroma per parola, "fall leaves after leaves fall" questa è palindroma per parola. Devo fare il tutto tramite ricorsione ma 1 non ho idea di come NON considerare eventuali spazi e punteggiatura, 2 come contrassegno una parola intera? Cioè con le lettere singole è facilissimo, qui non c'è nulla che separi le parole se non spazi o punteggiatura o entrambe le cose in certi casi. Potrei contare gli spazi per il numero di parole però credo non serva a nulla...
    Mi servirbbe un'idea su cui lavorare non la soluzione...Grazie..

  2. #2
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Non ci sono molti casi:
    • Elimini tutto ciò che non è una lettera
    • Fai in modo che tutte le lettere siano maiuscole o minuscole
    • Controlli se la prima metà è uguale all'inverso della seconda. O se la frase è uguale al suo inverso...
    Ultima modifica di MItaly; 21-11-2013 a 00:46 Motivo: Fix tag URL
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  3. #3
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    No, scusa, avevo capito male...
    Allora cambio...
    • Utilizzi una lista linkata
    • Elimini tutti i segni di punteggiatura e rendi tutto minuscolo (o maiuscolo)
    • dividi le parole per spazi bianchi (considerando spazi, tabulazioni e ritorni a capo) e inserisci ogni parola nella lista linkata
    • rovesci la lista e controlli che sia uguale

    Se invece si tratta di frase
    • i primi 2 punti
    • trasformi tabulazioni e spazi multipli in uno spazio
    • dividi per ritorni a capo e inserisci nella lista
    • rovesci la lista e controlli sia uguale


    Puoi scrivere tutto come funzioni ricorsive e comporle alla fine
    Ultima modifica di Scara95; 21-11-2013 a 08:30
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    87
    Grazie per la risposta! L'unica cosa è che le liste ancora non le abbiamo fatte, inizialmente avevo pensato a qualcosa di simile forse, ovvero cercare le parole e metterle da qualche parte, un vettore, però non conosciamo il numero di parole quindi non posso sapere quanti vettori servirebbero, non avevo pensato ad eliminare fisicamente la punteggiatura, potrei farlo con un confronto con il codice ascii. O faccio un vettore di typedef struct di vettori xD.. Però mi sembra incasinato

  5. #5
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Puoi utilizzare un vettore che reallochi con realloc.
    Ti basta L'Indice dell'ultimo elemento...
    Inserisci sempre alla fine...
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    87
    Grazie ma non ho idea di cosa voglia dire, scusate l'assenza ma Telecom mi ha isolato

  7. #7
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Questo è un esempio, del resto puoi occuparti tu ( ^_^)

    Eh già! La vecchia e cara Telecom!
    Ultima modifica di Scara95; 24-11-2013 a 02:52 Motivo: Telecom
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.