Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 12 su 12
  1. #11
    Originariamente inviato da Verce
    Secondo me il metodo può ancora essere ottimizzato:

    codice:
    for ( i=0 ; i< ( strlen(a)/2 ) ; i++) {
        if ( a.charAt(i) != a.charAt( strlen(a)-i ) ) {
            return false;
        }
    }
    
    return true
    perdonate se alcuni comandi non esistono in C, (arrivo da java =P)

    il concetto è:
    faccio un for fino a metà stringa, confronto la prima con l'ultima e così via appena ne trovo una falsa esco con false, se termino il for esco con true.
    Giusta osservazione, anche se indicata precedentemente; ovviamente era un C "javato"..

    Ciao

  2. #12
    Utente bannato
    Registrato dal
    Oct 2010
    Messaggi
    1,219
    Scusate,non avevo incluso il caso che la stringa fosse pari.
    Ho corretto il programma:
    codice:
    int palindroma(char a[])
    {
        int i,j=strlen(a)-1;
        for(i=0;i<j&&a[i]==a[j];i++)
          j--;
        return(i>=i);
    }
    Ora funzione sempre

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 © 2026 vBulletin Solutions, Inc. All rights reserved.