У меня возникла проблема с моей программой для новичка ....
Я хочу напечатать список городов как в порядке возрастания, так и в порядке убывания, но пока выполняется только нисходящая часть.
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
int main(void) {
int i, j, ch, sort=0;
printf("HOW WOULD YOU LIKE TO SORT?\n\nASCENDING\n\nDESCENDING\n\n");
ch=getc(stdin);
if(toupper(ch)=='A'&&tolower(ch)=='a') sort=1;
if(sort==1) printf("\nSORT ASCENDING...\n");
else printf("\nSORT DESCENDING...\n");
printf("\nHOW MANY CITIES WOULD YOU LIKE? : - \n");
scanf("%d",&i);
char NAMES[i][20];
j=0;
while(j<i) {
printf("ENTER NAME ");
scanf("%s",NAMES[j]);
j++;
}
char swapNAME[20];
int r,k;
printf("THE ORIGINAL LIST WAS :\n");
for(r=0;r<i;r++) printf("%s\n",NAMES[r]);
for(r=0;r<i-1;r++) {
for(k=r+1;k<i;k++) {
if(strcmp(NAMES[k],NAMES[r])>0) {
strcpy(swapNAME,NAMES[r]);
strcpy(NAMES[r],NAMES[k]);
strcpy(NAMES[k],swapNAME);
}
}
}
printf("\n THE SORTED LIST IS NOW : \n");
for(r=0;r<i;r++) printf("%s\n",NAMES[r]);
getc(stdin);
system("pause");
return 0;
}
Пожалуйста, любые усилия будут высоко оценены aganin Thankz