From my understanding of your post, it sounds like you want to get a 2D array of seats, add passengers, and sort em'.
A 2D array will be done something like this:
bool **array = new bool*[width];
for (int temp=0;temp<width;temp++)
array[temp] = new bool[height];
Thus, you have an array of boolean values. I'll say they're true if a person's in the seat, false otherwise.
Now then, you want to add a passenger to the array? Simple with our newfound 2D array:
array[x][y] = true;
Or if you want code you can be proud of, you could set up the 2D array to be passenger objects, and edit their name, etc.
Anyways, once you set up the 2D array of anything, accessing any member is doing this:
array[x][y];
Where x is the spot out of the width, and y is the spot out of the height.
If you want to print out their seats, just do 2 for loops, going down the height, having the 2nd scroll across the width:
for (int x=0;x<width;x++)
for (int y=0;y<height;y++)
printf("%c",array[x][y]==true ? 'x':' ';
I don't understand what you mean by sorting the passengers.
And understand this is all off the top of my head. If there's any problems, I might actually go to my compiler and work something out.