i am trying to read a file and sorting it alphabetically, i do not know how to tackle this issue.
so i am reading a file that contains , States, counties, and cities. and i need to sort the State alphabetically. can you please guide on how to solve this?
i have tried this:
void sorting(struct state* array, int x){
int narray = sizeof(array[x].name)/sizeof(array[0].name);
sort(array[x].name, array[x].name + narray);
for(int i = 0; i < narray; ++i) {
cout << array[i].name<< endl;
}
}
here is my struct:
struct state {
string name; //name of state
struct county *c; //name of counties
int counties; //number of counties in state
int population; //total population of state
};
and here is how i read the file:
File >> array[i].name;
File >> array[i].population;
File >> array[i].counties;
it gave me an errors, am i on the right track?
the error i got are:
main.cpp:193:45: error: invalid operands to binary expression ('string' (aka 'basic_string<char, char_traits<char>, allocator<char> >') and 'int')
sort(array[x].name, array[x].name + narray);
~~~~~~~~~~~~~ ^ ~~~~~~
and i got this error 8 times with different numbers:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string:3987:1: note: candidate template ignored: deduced conflicting types for parameter '_CharT' ('char' vs. 'int')
operator+(const basic_string<_CharT, _Traits, _Allocator>& __lhs, _CharT __rhs)