ciao,mi chiamo francesca e ho appena inizaito un corso di programmazione.Ho da svolgere degli esercizi e non sono molto pratica.Il progarmma seguente dovrebbe contare la frequenza delle lettere delle parole che dai in input; la prima parte del codice l'ha già scritta il mio professore mentre io ho scritto solo
codice:
if (isalpha(ch))

{ch=ch-'a';
++freq[ch];}
  }
questo programma nei computer in facoltà funzionava senza problemi mentre sul mio (uso knoppix per la prima volta) dopo che do l'imput non da alcun risultato e non capisco il perchè dato che il compilatore è lo stesso dei computer in facoltà ovvero g++.
codice:
#include <iostream>
#include <vector>
#include <cctype>   // Per le funzioni isalpha e tolower.
using namespace std;

// Programma che conta e stampa le frequenze delle lettere.
int main()
{
  vector<int> freq(26);  // Caselle automaticamente azzerate.

  while (true)
  {
    char ch = cin.get(); // Legge un carattere dall'input e lo mette in ch
    if (!cin) { break; } // Uscire dal ciclo, se non ci sono piu` caratteri da leggere.
    ch = tolower(ch);    // Converte maiuscole in minuscolo
if (isalpha(ch))

{ch=ch-'a';
++freq[ch];}
  }

  // Stampiamo le frequenze...
  cout << "Lettera  Frequenza\n";
  for (int i=0; i < 26; ++i)
  {
    cout << "   " << char('a'+i) << "       " << freq[i] << endl;
  }
  return 0;
}
grazie.