Algorytm ma uporządkować według rosnącej długości stringi, a jeśli są równej długości to posortować je alfabetycznie. Na początku należy podać liczbę n odpowiadającą za ilość stringów.
Tu mój kod:
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
bool cmp( string a, string b)
{
return a<b;
}
bool cmp_2( string a, string b)
{
return a.length()<b.length();
}
string x[201];
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++)
cin>>x[i];
sort(x,x+n,cmp);
sort(x,x+n,cmp_2);
for(int i=0;i<n;i++)
cout<<x[i]<<endl;
}
I teraz pytanie co jest tutaj źle? Dla przykładowego testu z zadania program działa, ale dla innych już nie. Z góry dzięki za pomoc :).