The error seems to have gone a away but i need some help finding a way to print out the filenames in order from highest relavance to least relevant. I was using a map but I doesnt work because sometimes the value can be the same for 2 files so it won't pring correctly. Heres the code I have now but what would be a good way to print the results? Thanks

Code:
/* Testing Files:
word.txt: computer server program computer internet internet website internet program program
word2.txt laptop website website computer internet email website server laptop
word3.txt (empty file)
(identical to word.txt)  word4.txt computer server program computer internet internet website internet program program
word5.txt email email email email email email email email
word6.txt server server server server server website website laptop email  
*/



#include <fstream>
#include <iostream>
#include <string>
#include <map>
#include <list>

using namespace std;

int main(int argc, char* argv[])
{
   map<string, int> info[argc-1];
   map<string, double> result;
   string fileNames[argc-1];
   list<double> value;
   string word;
   string keyword1;
   string keyword2;
   
   cout<<"Enter first keyword: ";
   cin >> keyword1;
   cout <<"Enter second keyword: ";
   cin >> keyword2;
   cout << "\n";

   for(int i=1; i < argc; i++)
   {
      fileNames[i-1] = argv[i];

      ifstream fin(argv[i]);
      if(!fin) exit(1);
  
     
     // while(!fin.eof())
        while(fin>>word)
        {
        // fin>>word;

         if(info[i-1].count(word) <0 ) 
            info[i-1][word];
         else
            info[i-1][word]++;
      }     
   }

  //This is where I need help
   for(int i=0; i < argc-1; i++)
   {
      value.push_back(info[i][keyword1]*.33 + info[i][keyword2]*.67);
      result[fileNames[i]] = (info[i][keyword1]*.33 + info[i][keyword2]*.67);
   }

   value.sort();
   cout << "Results (relevance from highest to lowest): \n";
   
   int i =0;
   
   for(int i=0; i < argc-1; i++)
   {
     i =0;
      while(true)
      {
         if(result[fileNames[i]] == value.back())
         {   
            cout<< fileNames[i] << ": " << value.back()<< "\n";
            result.erase(fileNames[i]);
            value.pop_back();
            break;
         }
         i++;
      } 
   }


}