Изменить тип сортируемых данных - C (СИ)
Формулировка задачи:
тут она сортирует после того как покажешь ей колво цифр для сортировки.что изменить чтоб сортировала после любой буквы?
#include <stdio.h>
main()
{int x[10],j,i,k,BUFF;
printf("NR=");
scanf("%d",&j);
printf("\n x[%d]\n",j);
for (i=0;i<j;i++)
{
printf("\n x[%d]=",i);scanf("%d",&x[i]);
}
for (k=1;k<j;k++)
for (i=0;i<j-k;i++)
if (x[i]>x[i+1])
{
BUFF=x[i];
x[i]=x[i+1];
x[i+1]=BUFF;
}
for (i=0;i<j;i++)printf("\t%d",x[i]);
}
ну кто знает что поменять тут?
Решение задачи: «Изменить тип сортируемых данных»
textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#include <string.h>
int main()
{
int j,i,k;
char x[100],BUFF;
printf("\n enter text:");
gets(x);
j=strlen(x);
for (k=1;k<j;k++)
for (i=0;i<j-k;i++)
if (x[i]>x[i+1])
{
BUFF=x[i];
x[i]=x[i+1];
x[i+1]=BUFF;
}
puts(x);
getch();
return 0;
}
Объяснение кода листинга программы
В этом коде происходит сортировка введенного пользователем текста по возрастанию символов.
- Сначала объявляются три переменные: j, i, k типа int, и переменная x типа char с размером массива 100.
- Затем пользователю предлагается ввести текст, который сохраняется в переменной x.
- Далее, переменная j инициализируется значением функции strlen(x), которая возвращает длину строки.
- После этого, в цикле for происходит сортировка строки x. Внутренний цикл for выполняется для каждой пары символов, начиная с первого, пока не будет отсортирован в нужном порядке.
- Если текущий символ больше следующего, то они меняются местами с помощью временной переменной BUFF.
- После завершения внутреннего цикла, выводится отсортированная строка x с помощью функции puts(x).
- В конце программы вызывается функция getch(), которая ожидает нажатия клавиши пользователем, и функция main() возвращает 0, что означает успешное завершение программы.