Massimo di una lista

di Anonimizzato8504 il
2 risposte
Salve a tutti ho un problema con questo semplice programma sulle liste
Scrivere una funzione maximum che calcola l'elemento più grande di una lista
(chiaramente non devo utilizzare l'algoritmo della libreria standard di c++)

io ho fatto così ma non funziona come potrete immaginare
mi aiutereste a capire dove sta l'errore?

#include <string>
#include <list>
#include <iostream>
using namespace std;

void maximum(list<string>& staff)
{
    string max="";
    list<string>::iterator pos;
    for(pos=staff.begin();pos!=staff.end();pos++)
    {
        if(*(pos)>max)
        max=*(pos);
    }
cout<<max<<endl;
}
int main()
{
list<string> staff;
staff.push_back("Harry");
staff.push_back("Vivian");
staff.push_back("Zack");
staff.push_back("Sam");
staff.push_back("Dick");
cout << "The maximum element in the list is " ;
cout<<maximum;
return 0;
}

2 Risposte

  • Come fai a chiamare una funzione?
    
        #include <string>
        #include <list>
        #include <iostream>
        using namespace std;
    
        string maximum(list<string>& staff)
        {
            string max="";
            list<string>::iterator pos;
            for(pos=staff.begin();pos!=staff.end();pos++)
            {
                if(*(pos)>max)
                max=*(pos);
            }
           return max;
        }
        int main()
        {
        list<string> staff;
        staff.push_back("Harry");
        staff.push_back("Vivian");
        staff.push_back("Zack");
        staff.push_back("Sam");
        staff.push_back("Dick");
        cout << "The maximum element in the list is " ;
        cout<<maximum(staff);
        return 0;
        }
    
    
    
  • Sisi avevo già risolto
    m'ero accorto dell'errore il giorno dopo
    grazie lo stesso
Devi accedere o registrarti per scrivere nel forum
2 risposte