1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
int compare2(vector < structure > Tab1, vector < structure > Tab2, ofstream &fichier2)
{
compteur = 0;
num_ligne = 0;
vector < structure >::iterator itCurrent1; // Création d'un vector de type "Colonne_struct" qui est un iterator de nom "itCurrent1".
vector < structure >::iterator itEnd1 = Tab1.end( ); // Création d'un vector de type "Colonne_struct" qui est un iterator de nom "itEnd1" initialisé à la fin d'un tableau.
vector < structure >::iterator itCurrent2; // Idem
vector < structure >::iterator itEnd2 = Tab2.end( ); // Idem
cout << endl;
itCurrent1 = Tab1.begin( );
for ( ; itCurrent1 != itEnd1; ++itCurrent1) // Deux boucles for imbriquées permettent la comparaison;
{ // On compare chaque ligne du tableau1 à l'ensemble des
bool trouve = 0; // lignes du tableau2.
num_ligne = num_ligne++;
// Pour une ligne du tableau1, on parcour l'ensemble du tableau2
itCurrent2 = Tab2.begin( ); // Si la ligne est trouvée, on place "trouve" à true et on sort
for ( ; itCurrent2 != itEnd2; ++itCurrent2) // de la seconde boucle for.
{
// Si la ligne n'est pas trouvée, "trouve" est à "false", on incrémente un compteur
//if ( *itCurrent2 == *itCurrent1 ) // (qui sera chargé de renseigner par la suite le nombre de lignes absentes)
//{ // et on affiche la ligne qui ne se trouve pas dans le tableau2.
// trouve = true; // Enfin, lorsque la comparaison est finie, on renvoi la valeur du compteur.
// break;
//}
for(int i = 0; i < 8; ++i)
{
if (*itCurrent1 == *itCurrent2 && itCurrent1->col [i] == itCurrent2->col [i])
{
trouve = true;
break;
}
if(trouve == false)
{
ofstream fichier2( "C:\\Documents and Settings\\bastien\\Bureau\\Fichier log1.txt", ios::out | ios::app );
if(fichier2.is_open() == false)
{
cout << "ERREUR LORS DE L'OUVERTURE DE Fichier log1.txt" << endl;
assert(false);
return -1;
}
compteur = compteur++;
//cout << *itCurrent1;
fichier2 << "(Fichier 2)" << "\t" << itCurrent1->col[i] << " " << num_ligne ; //JE PENSE QUE MON ERREUR SE SITUE ICI
}
}
}
}
return compteur;
} |
Partager