Ввести ряд символов (нахождение одинаковых символов в слове) - C (СИ)
Формулировка задачи:
Привет , ребят.
Задача:
Ввеcти ряд символов, пусть то будет текст, функция gets(ch)
Найти в введенной строке одинаковые символы, если такие есть, то вывести оповещание TRUE, в противном случае FALSE
Например MOLOKO -3 раза буква O => TRUE
KEFIR- - Все символы по одному разу=> FALSE
За ранee спасибо Буду признателен если напишете код с пояснениями
Решение задачи: «Ввести ряд символов (нахождение одинаковых символов в слове)»
textual
Листинг программы
#include <stdio.h> int check(char str[]) { int i, j; for ( i = 0; str[i] != 0; i++ ) { for ( j = i+1; str[j] != 0; j++ ) { if ( str[i] == str[j] ) { return 1; } } } return 0; } int main() { char str[101]; scanf("%100s", str); if ( check(str) ) { printf("TRUE\n"); } else { printf("FALSE\n"); } return 0; }
Объяснение кода листинга программы
- В функции
check
мы проверяем, есть ли в строке одинаковые символы. - Мы используем два вложенных цикла, чтобы сравнить каждый символ строки с каждым другим символом.
- Если мы находим пару одинаковых символов, мы возвращаем 1, иначе продолжаем искать.
- Если мы доходим до конца строки, не найдя ни одной пары одинаковых символов, мы возвращаем 0.
- В функции
main
мы объявляем массив символовstr
с максимальной длиной 101 символ. - Мы считываем строку с помощью
scanf
, используя максимальный размер нашего массива. - Затем мы вызываем функцию
check
и присваиваем результат переменнойresult
. - Мы выводим
result
, чтобы показать, содержит ли строка одинаковые символы или нет. - Мы возвращаем 0 в конце функции
main
, чтобы указать, что программа успешно завершилась.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д