Finalmente ce l ho fatta, ma come al solito sorgono altri problemi... quelllo seguente è il codice che ho usato per implementare le matrici di caratteri provenienti dal file:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
void stampaMatrici(char Mat1[][4], char Mat2[][4])
{
for(int i=0; i<4; i++)
{
for(int j=0; j<4; j++)
cout<<Mat1[i][j];
cout<<endl;
}
cout<<endl;
for(int i=0; i<4; i++)
{
for(int j=0; j<4; j++)
cout<<Mat2[i][j];
cout<<endl;
}
cout<<"----"<<endl;
}
int main() {
ifstream aprifile("file.txt");
if(!aprifile)
{
cout<<"Il file non esiste!";
return -1;
}
string s;
char Matrice1[4][4];
char Matrice2[4][4];
while(s!="#")
{
int riga=0;
while(riga<4)
{
int colonna=0;
getline(aprifile, s);
int j=11;
for(int i=0; colonna<4; i+=2, j+=2, colonna++)
{
Matrice1[riga][colonna]=s[i];
Matrice2[riga][colonna]=s[j];
}
riga++;
}
stampaMatrici(Matrice1,Matrice2); //DA SOSTITUIRE CON FUNZIONE CERCAPAROLECOMUNI
getline(aprifile, s);
}
aprifile.close();
return 0;
}
allora, la funzione che dovrò implementare per la ricerca delle parole comuni per una coppia di matrici, verrà chiamata ogni volta che dal file si leggono una coppia di matrici appunto, e restituirà una list... per ora l ho sostituita con una funzione di stampa per vedere se le matrici vengono effettivamente lette e memorizzate (e l output risponde in modo positivo)... il problema che ora sorge è che, nella traccia del problema c'è scritto che il file deve terminare con il carattere '#' (infatti nel ciclo while più esterno c'è il controllo).. il problema è che se il file di input è del tipo:
D F F B W A S U
T U G I B R E T
O K J M Y A P Q
K M B E L O Y R
Z W A V G S F U
U N C O A H F T
Y T G I G N A L
H G P M B O O B
#
con nessuno spazio tra la fine delle matrici ed il carattere '#', allora funziona...
se invece il file di input ha una riga vuota tra l ultima coppia di matrici ed il carattere '#' (l' input giusto dovrebbe essere di questo tipo, come è descritto sulla traccia, altrimenti il sito Uva, darà errore), l algoritmo non funziona...
Scusate il poema, ma purtroppo non sarei riuscito a spiegarmi diversamente.... spero che qualcuno mi aiuti perchè devo finire questo progetto urgentemente... saluti...