Консультация № 198266
15.04.2020, 16:45
0.00 руб.
0 2 1
Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:
Разработать программу обработки символьной информации.
Дано слово. Определить, состоит ли слово из различных неповторяющихся символов.(язык си)

Обсуждение

давно
Студент
403303
19
16.04.2020, 09:01
общий
это ответ
Здравствуйте, niktop1!
Ниже текст программы. Комментарии есть, думаю все понятно. Для самодостаточности программы и удобства тестирования организован ввод слова с клавиатуры, хотя по условию задачи слово изначально "дано".
Написать можно компактнее, но текст станет менее читабельным.

Приложение:
#include <stdio.h>

int main()
{
char str[101]; /* строка для хранения слова, 100 символов + терминальный 0 */
int n[256]; /* массив, где хранятся счетчики символов */
int i; /* служебная переменная */
int cc; /* текущий рассматриваемый символ из слова */

printf("Введите слово: ");
scanf("%100s",str); /* считываем с клавиатуры слово, не более 100 символов */

for( i=0; i<256; i++ ) /* обнуляем счетчики */
n[i] = 0;
for (i=0; str[i]; i++) /* проходимся по всем введенным символам */
{
cc = (int) str[i]; /* берем очередной символ из строки */
if( n[cc] == 0 ) /* если такой символ еще не встречался */
n[cc]++; /* наращиваем счетчик и переходим к следующему символу */
else /* если такой символ уже встречался */
{
printf("Обнаружен повтор символа \'%c\'.\n",str[i]);
return 0; /* ответ получен, программа завершена */
}
}

/* если повторов в слове не обнаружено, то ответ получен, программа завершена */
printf("Повторов не обнаружено.\n");
return 0;
}
давно
Управляющий
143894
2148
16.04.2020, 10:38
общий
Адресаты:
На будущее, для кода программы вместо Приложение используйте кнопку КОД - вставить тег КОД (расширенный режим) и выбирайте н окошке язык.
Кнопка КОД расположена на панели кнопок выше поля ответа.
Об авторе:
Устав – есть устав! Если ты устав – то отдыхай!


Форма ответа