Ottimizzazione Codice

di il
3 risposte

Ottimizzazione Codice

Salve a tutti. Sto progettando in linguaggio C e vorrei ottimizzare un certo passaggio

Ho una stringa (puntatore ad array), che contiene delle lettere minuscole. Visto che più avanti nella funzione devo operare in base al fatto di aver incontrato o meno queste lettere minuscole, come posso tenere traccia dell'aver riscontrato o meno una precisa lettera minuscola?

In maniera molto cavernicola avevo risolto mettendo degli IF (all'interno di un ciclo di scorrimento dell'array) per tutte le 26 lettere minuscole, dove se trovavo ad esempio la x avevo una variabile di controllo per x che veniva incrementata ad 1, ma così mi vengono fuori 26 variabili da gestire e controllare

Esiste un qualche tipo di ciclo che mi permette di evitare l'utilizzo di tutti quei IF in casi come questo?

3 Risposte

  • Re: Ottimizzazione Codice

    Ciao,
    un'idea che mi viene in mente (poi a te il compito di svilupparla) è quella di avere un array di contatori, quindi
    int contatori[26];
    e poi incrementare il contatore relativo ad ogni lettera. Con un accorgimento: il codice ASCII della lettera 'a' è 97, quindi per ogni lettera andrai ad incrementare il contatore di posizione codice_ascii-97. Qualcosa come
    
    int cod_ascii;
    cod_ascii = leggi_cod_ascii();
    contatori[cod_ascii-97]++;
    
  • Re: Ottimizzazione Codice

    In effetti è proprio una bella idea, abbastanza sicuro che farò così! Grazie!
  • Re: Ottimizzazione Codice

    Prego!

Devi accedere o registrarti per scrivere nel forum
3 risposte