#include <stdio.h>
#include <string.h>
#define SIZE 15
#define NAME_SIZE 50
void bubbleSort(char towns[][NAME_SIZE],
int size)
{
for (int pass = 0; pass < size - 1; ++pass)
{
int swapped = 0;
for (int i = 0; i < size - 1 - pass; ++i)
{
if (strcmp(towns
[i
], towns
[i
+ 1]) > 0) {
char hold[NAME_SIZE];
strcpy(towns
[i
], towns
[i
+ 1]);
swapped = 1;
}
}
if (swapped == 0)
{
break;
}
}
}
int main(void)
{
char towns[SIZE][NAME_SIZE] =
{
"Cairo",
"Alexandria",
"Giza",
"Luxor",
"Aswan",
"Port Said",
"Suez",
"Tanta",
"Mansoura",
"Minya",
"Fayoum",
"Damietta",
"Ismailia",
"Hurghada",
"Sharm El Sheikh"
};
bubbleSort(towns, SIZE);
printf("Towns in alphabetical order:\n");
for (int i = 0; i < SIZE; ++i)
{
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KCiNkZWZpbmUgU0laRSAxNQojZGVmaW5lIE5BTUVfU0laRSA1MAoKdm9pZCBidWJibGVTb3J0KGNoYXIgdG93bnNbXVtOQU1FX1NJWkVdLAogICAgICAgICAgICAgICAgaW50IHNpemUpCnsKICAgIGZvciAoaW50IHBhc3MgPSAwOyBwYXNzIDwgc2l6ZSAtIDE7ICsrcGFzcykKICAgIHsKICAgICAgICBpbnQgc3dhcHBlZCA9IDA7CgogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgc2l6ZSAtIDEgLSBwYXNzOyArK2kpCiAgICAgICAgewogICAgICAgICAgICBpZiAoc3RyY21wKHRvd25zW2ldLCB0b3duc1tpICsgMV0pID4gMCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgY2hhciBob2xkW05BTUVfU0laRV07CgogICAgICAgICAgICAgICAgc3RyY3B5KGhvbGQsIHRvd25zW2ldKTsKICAgICAgICAgICAgICAgIHN0cmNweSh0b3duc1tpXSwgdG93bnNbaSArIDFdKTsKICAgICAgICAgICAgICAgIHN0cmNweSh0b3duc1tpICsgMV0sIGhvbGQpOwoKICAgICAgICAgICAgICAgIHN3YXBwZWQgPSAxOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBpZiAoc3dhcHBlZCA9PSAwKQogICAgICAgIHsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgfQp9CgppbnQgbWFpbih2b2lkKQp7CiAgICBjaGFyIHRvd25zW1NJWkVdW05BTUVfU0laRV0gPQogICAgewogICAgICAgICJDYWlybyIsCiAgICAgICAgIkFsZXhhbmRyaWEiLAogICAgICAgICJHaXphIiwKICAgICAgICAiTHV4b3IiLAogICAgICAgICJBc3dhbiIsCiAgICAgICAgIlBvcnQgU2FpZCIsCiAgICAgICAgIlN1ZXoiLAogICAgICAgICJUYW50YSIsCiAgICAgICAgIk1hbnNvdXJhIiwKICAgICAgICAiTWlueWEiLAogICAgICAgICJGYXlvdW0iLAogICAgICAgICJEYW1pZXR0YSIsCiAgICAgICAgIklzbWFpbGlhIiwKICAgICAgICAiSHVyZ2hhZGEiLAogICAgICAgICJTaGFybSBFbCBTaGVpa2giCiAgICB9OwoKICAgIGJ1YmJsZVNvcnQodG93bnMsIFNJWkUpOwoKICAgIHByaW50ZigiVG93bnMgaW4gYWxwaGFiZXRpY2FsIG9yZGVyOlxuIik7CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBTSVpFOyArK2kpCiAgICB7CiAgICAgICAgcHJpbnRmKCIlc1xuIiwgdG93bnNbaV0pOwogICAgfQoKICAgIHJldHVybiAwOwp9