Вывести на экран символы которые повторяются только один раз - C (СИ)
Формулировка задачи:
Задание, ввод символьной строки пользователем, задания:
1) вывести обрабатываемую строку на экран
2) вывести на экран символы которые повторяются только один раз, в последовательности как они были в строке
Программа должны быть написана в
Си
а не в С++ у меня по моему 1 задание сделано, надо второе, может кто помочь?#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <string.h>
#define N 800
int main()
{//1
char text[N];
int sk;
system("cls");
printf("Ievadiet simbolu virkni\n");
gets(text);
system("cls");
printf("Ievadita virkne ir:\n");
puts(text);
printf("\n");
system("pause");
}//1Решение задачи: «Вывести на экран символы которые повторяются только один раз»
textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <string.h>
#define N 800
void Print(char *s)
{
int i, count[256] = {0};
for (; *s; s++)
count[*s]++;
for (i = 0; i < 256; i++)
if (count[i] == 1)
printf("%c\n", i);
}
int main()
{//1
char text[N];
int sk;
system("cls");
printf("Ievadiet simbolu virkni\n");
gets(text);
system("cls");
printf("Ievadita virkne ir:\n");
puts(text);
Print(text);
printf("\n");
system("pause");
}//1
Объяснение кода листинга программы
Вывод повторяющихся символов:
- Включаем необходимые заголовочные файлы.
- Объявляем переменные:
N- размер массиваtext;text- строка, в которой будем искать повторяющиеся символы;sk- счётчик для цикла перебора символа.
- Выводим сообщение с просьбой ввести строку.
- Очищаем экран.
- Выводим введённую строку.
- Инициализируем счётчик повторяющихся символов.
- В цикле перебираем каждый символ в строке.
- Увеличиваем счётчик для текущего символа.
- Если счётчик для текущего символа равен 1, то выводим этот символ.
- Завершаем работу программы.