Упорядочить символы строки B в алфавитном порядке и удалить латинские буквы из строки A - C (СИ)
Формулировка задачи:
Даны строки A и B. Если в A есть повторяющиеся символы, а в B нет повторяющихся символов, то упорядочить символы B в алфавитном порядке и удалить латинские буквы из A; в остальных случаях упорядочить символы B в порядке, обратном к алфавитному, удалив повторяющиеся символы, и продублировать в A символы, не входящие в B.
есть идеи как это делать?
Решение задачи: «Упорядочить символы строки B в алфавитном порядке и удалить латинские буквы из строки A»
textual
Листинг программы
//дублирование в А символы не входящие в B.
lena = strlen(a);
for (i=0; i<=lena-1; i++)
{
if (strchr(b, a[i]) != 0)
{
lena = strlen(a);
for (j=lena; j>=i; j--)
a[j+1] = a[j];
}
}
Объяснение кода листинга программы
- //дублирование в А символы не входящие в B. //
- lena = strlen(a); - инициализация переменной
lenaзначением длины строкиa - for (i=0; i<=lena-1; i++) - цикл от 0 до len(a)-1
- if (strchr(b, a[i]) != 0) - проверка есть ли символ из строки
aв строкеb - {
- lena = strlen(a); - повторное присваивание значения длины строки
aпеременнойlena - for (j=lena; j>=i; j--) - цикл от j=lena до j=i (в обратном порядке)
- a[j+1] = a[j]; - перемещение символов в строке
a - }
- }