Written in C: Hello, I'm writing an insertion sort element, to insert countries from a text file into a list that's alphabetically ordered. I have a fully functioning sorting algorithm, but I'm experiencing a bug: The output should be: Austria Austria Canada Italy Japan New Zealand Republic of Ireland Russia Scotland Ukraine United Kingdom United States of America Wales PROBLEM: However, The output I'm receiving from this sort algorithm is Austria Austria CanadaItaly Japan New Zealand Republic of Ireland Russia Scotland Ukraine United Kingdom United States of America Wales AS YOU CAN SEE, IT BUNCHES UP WORDS SUCH AS CANADA & ITALY Above. I have no idea why this is happening. It only happens with some words and not others. HERE IS MY SORTING ALGORITHM CODE for (int i = 0; i < count-1 ; i++)//sorting algorithm using selection sort { for (int j = i + 1; j < count; j++) { if (strcmp(country[i], country[j]) > 0) { strcpy(temp, country[i]); strcpy(country[i], country[j]); strcpy(country[j], temp); } } } printf("\nSorted capitals is\n\n"); for (int i = 0; i < count; i++) { printf("%s", country[i]); } }
Written in C:
Hello, I'm writing an insertion sort element, to insert countries from a text file into a list that's alphabetically ordered. I have a fully functioning sorting
The output should be:
Austria
Austria
Canada
Italy
Japan
New Zealand
Republic of Ireland
Russia
Scotland
Ukraine
United Kingdom
United States of America
Wales
PROBLEM: However, The output I'm receiving from this sort algorithm is
Austria
Austria
CanadaItaly
Japan
New Zealand
Republic of Ireland
Russia
Scotland
Ukraine
United Kingdom
United States of America
Wales
AS YOU CAN SEE, IT BUNCHES UP WORDS SUCH AS CANADA & ITALY Above. I have no idea why this is happening. It only happens with some words and not others.
HERE IS MY SORTING ALGORITHM CODE
for (int i = 0; i < count-1 ; i++)//sorting algorithm using selection sort
{
for (int j = i + 1; j < count; j++)
{
if (strcmp(country[i], country[j]) > 0)
{
strcpy(temp, country[i]);
strcpy(country[i], country[j]);
strcpy(country[j], temp);
}
}
}
printf("\nSorted capitals is\n\n");
for (int i = 0; i < count; i++)
{
printf("%s", country[i]);
}
}
Step by step
Solved in 3 steps with 1 images