Ci sono un paio di preblemi:
1.
codice:
for (int i=0;i<n;i++) {
if (vet[i] == vet[i+1])
cout <<"uguali";
else cout <<"diversi";
}
Quando arrivi a i=n-1, vai a confrontare vet[i] con vet[n]. ma così vai fuori dall'array(i cui indici vanno da 0 a n-1)
e ti va in crash il programma.
2.
codice:
string *vet = new string [n];
Se non ho capito male, vorresti fare un array di n puntatori a stringhe. Dovresti fare cosi:
codice:
string** vet = new string*[n]; // un puntatore a puntatori di string
e poi nel leggere il file:
codice:
file.clear();
file.seekg(0, ios::beg);
for (int i=0;i<n;i++){
vet[i] = new string(); // vet[i] è solo un puntatore, bisogna prima creare l'oggetto
file >> *vet[i];
}
for (int i=0;i<n;i++)
cout << *vet[i] << "\n";
for (int i=0;i<n-1;i++){
if (*vet[i] == *vet[i+1])
cout <<"uguali";
else cout <<"diversi";
}
Visto che hai dei puntatori, devi deferenziare il puntore (un saluto a MItaly
)