Функция составляющая буквы предложения в алфавитном порядке - C (СИ)
Формулировка задачи:
Доброго времени суток.
у меня один маленький вопрос, мне нужна функция состовляющая буквы в массиве в алфавитном порядке.
на пример, я в вел:
Chocolate Can Boost Your Workout
функция переставляет буквы сего предложения в алфавитном порядке.
a b c e h k l n o r s t u w y
библиотеки для рещения только stdio &stdlib
Решение задачи: «Функция составляющая буквы предложения в алфавитном порядке»
textual
Листинг программы
#include <stdio.h>
//только для ASCII
void output_abc(FILE* _out, FILE* _in){
int i, ch;
unsigned int abc = 0;
while(((ch = fgetc(_in)) != EOF) && !ferror(_in)){
if((ch == '\n') || (ch == '\r'))
break;
if(ch >= 'a' && ch <= 'z')
ch -= 'a';
else if(ch >= 'A' && ch <= 'Z')
ch -= 'A';
else
ch = -1;
if(ch != -1)
abc |= 1 << ch;
}
for(i = 0; i < 26; ++i){
if((abc >> i) & 1)
fprintf(_out, "%c ", i + 'a');
}
fputc('\n', _out);
}
int main(void){
output_abc(stdout, stdin);
return 0;
}