Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/37: Рейтинг темы: голосов - 37, средняя оценка - 4.89
 Аватар для Jakaroo
0 / 0 / 0
Регистрация: 25.02.2019
Сообщений: 12

Проверка слова на различие букв

15.05.2019, 08:46. Показов 7515. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как можно проверить что слово состоит только из различных символов?

Желательно примитивным синтаксисом. Без Делегатов, лямбда-выражений и прочего
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.05.2019, 08:46
Ответы с готовыми решениями:

Дан текст. Напечатать все различные слова. Различие строчных и прописных букв во внимание не принимать
Дан текст. Напечатать все различные слова. Различие строчных и прописных букв во внимание не принимать.

Дан текст. Напечатать все различные слова. Различие строчных и прописных букв во внимание не принимать
Дан текст. Напечатать все различные слова. Различие строчных и прописных букв во внимание не принимать.

Проверка букв из СЛОВА(переменная) на соответствие Буквы
Вот делал программу подсчитывающую кол-во букв в введенном слове, и добавил переменную СТРИНГ (Р) где задал ей все значения знаков...

12
 Аватар для Kazbek17
1484 / 939 / 454
Регистрация: 06.02.2012
Сообщений: 2,868
15.05.2019, 08:51
Цитата Сообщение от Jakaroo Посмотреть сообщение
Как можно проверить что слово состоит только из различных символов?
Что вашем понятие из различных символов? Этот ник из различных символов Jakaroo ?
0
 Аватар для Jakaroo
0 / 0 / 0
Регистрация: 25.02.2019
Сообщений: 12
15.05.2019, 08:56  [ТС]
Допустим, что есть слово "Гиена" - оно состоит из различных символов, так как в нем нет повторяющихся.
Мой никнейм бы не состоял из различных символов, потому что в нем есть две буквы a и o

Добавлено через 3 минуты
Допустим, что есть слово "Гиена" - оно состоит из различных символов, так как в нем нет повторяющихся.
Мой никнейм бы не состоял из различных символов, потому что в нем есть две буквы a и o
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
15.05.2019, 08:56
Jakaroo, ну вот, логику вы понимаете, остается только реализовать кодом.
0
 Аватар для Kazbek17
1484 / 939 / 454
Регистрация: 06.02.2012
Сообщений: 2,868
15.05.2019, 09:11
Лучший ответ Сообщение было отмечено Jakaroo как решение

Решение

Jakaroo, Так и надо писать, не выводить те слова которые имеют повторные символы.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
string[] str = new string[] { "Jakaroo", "Гиена", "Допустим" };
            List<char> list = new List<char>();
            for(int s =0; s < str.Length; s++)
            {
                for (int c = 0; c < str[s].Length; c++)
                {
                    char ch = str[s][c];
                    if (!list.Contains(ch))
                    {
                        list.Add(ch);
                    }
                    else
                    {
                        list.Clear();
                        break;
                    }
                    
                }
                if(list.Count != 0)
                Console.WriteLine(string.Concat(list));
                list.Clear();
 
            }
1
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
15.05.2019, 09:26
Jakaroo, Откуда ты знаешь про делегаты?
C#
1
2
3
4
5
6
7
8
9
  string InputString = "Проверка";
            foreach (char Letter in InputString.Distinct().ToArray())
            {
                int Count = InputString.Count(chr => chr == Letter);
                if (Count > 1)
                {
                    Console.WriteLine($"Слово состоит из различных символов {Letter} в количестве {Count}");
                }
            }
2
97 / 98 / 58
Регистрация: 29.09.2016
Сообщений: 410
15.05.2019, 09:34
вот так можно

C#
1
2
3
4
5
6
7
8
9
            string str = "Привет";
            var result = str.ToUpper()
                .GroupBy(c => c)
                .Select(g => new { Sybmol = g.Key, Count = g.Count() });
 
            if (result.All(c => c.Count <= 1))
            {
                Console.WriteLine(true);
            }
1
9 / 5 / 5
Регистрация: 08.02.2019
Сообщений: 32
15.05.2019, 09:52
Можно сравнивать индексы каждого символа на первое и последнее вхождение. Если они совпадают, символ не повторяется. Правда пришлось три цикла сделать.. не айс..
C#
1
2
3
4
5
6
7
8
9
10
11
string s1 = "hello";
            char[] chars = s1.ToCharArray();
            int counter = 0;
            foreach (var ch in chars)
            {
               if (s1.IndexOf(ch) == s1.LastIndexOf(ch))
                    counter++;
            }
            if(counter==s1.Length)
                Console.WriteLine("Слово состоит из неповторяющихся символов!");
            Console.ReadKey();
1
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16140 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,110
Записей в блоге: 2
15.05.2019, 10:42
Лучший ответ Сообщение было отмечено Jakaroo как решение

Решение

Цитата Сообщение от Jakaroo Посмотреть сообщение
Допустим, что есть слово "Гиена" - оно состоит из различных символов, так как в нем нет повторяющихся.
Мой никнейм бы не состоял из различных символов, потому что в нем есть две буквы a и o
Есть метод Ienumerable.Distinct() возвращающий различающиеся элементы входной последовательности. Так как строка - это последовательность символов, то string.Distinct() вернёт различающиеся символы этой строки. И если все символы различны, то они все туда войду. Следовательно, надо проверить изменилось количество символов или нет.
C#
1
2
3
4
5
string str = "Jakaroo";
if (str.Length != str.Distinct().Count())
{
     /// Есть одинаковые символы
}
3
1524 / 515 / 126
Регистрация: 09.01.2018
Сообщений: 1,614
15.05.2019, 10:47
Лучший ответ Сообщение было отмечено Jakaroo как решение

Решение

Цитата Сообщение от Jakaroo Посмотреть сообщение
Желательно примитивным синтаксисом
Ну самый простой наверное способ - преобразовать строку в массив, отсортировать и пройтись по массиву циклом, проверяя соседние элементы на равенство. Если какие то два элемента окажутся равными - значит дубликаты есть.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
            string src = "hello";
            var arr = src.ToCharArray();
            Array.Sort(arr);
 
            bool duplicates = false;
            for (int i = 0; i < arr.Length - 1; i++)
            {
                if (arr[i] == arr[i + 1])
                {
                    duplicates = true;
                }
            }
 
            if (duplicates)
            {
                Console.WriteLine("Duplicates detected");
            }
            else
            {
                Console.WriteLine("Source word doesn't contain duplicate characters");
            }
 
            Console.ReadKey();
1
97 / 98 / 58
Регистрация: 29.09.2016
Сообщений: 410
15.05.2019, 11:04
Элд Хасп, найс, только надо еще регистр учитывать.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16140 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,110
Записей в блоге: 2
15.05.2019, 11:30
Лучший ответ Сообщение было отмечено Jakaroo как решение

Решение

Цитата Сообщение от ahtik95 Посмотреть сообщение
только надо еще регистр учитывать.
Если по задаче считается, что символы в разном регистре этот один и тот же символ.
В данном, случае такого условия не было.
Если нужна реализация для такого условия, то так
C#
1
2
3
4
5
6
string str = "Jakaroo";
str = str.ToLower();
if (str.Length != str.Distinct().Count())
{
     /// Есть одинаковые символы
}
1
 Аватар для Jakaroo
0 / 0 / 0
Регистрация: 25.02.2019
Сообщений: 12
15.05.2019, 16:59  [ТС]
AndreyVorobey, msdn
Я видел твое изначальное сообщение и скажу что лабу я не совсем себе делаю, именно поэтому я попросил очень примитивным синтаксисом написать, дабы человек мог объяснить. "Как сравнить слово на повторяющиеся символы" я знаю, но мне хотелось уйти от тройной вложенности)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.05.2019, 16:59
Помогаю со студенческими работами здесь

Проверка последних трех букв введенного слова
Помогите пожайлуста написать программу которая проверяет оканчиваются ли последние три букв на &quot;ski&quot;

Удалить из данного предложения слова, множество букв которых совпадает с множеством букв первого слова
стандартными стрелковыми функциями, объявленными в файле string.h пользоваться не разрешается удалить из данного предложения слова,...

Различие регистров букв
Здравствуйте! Требуется помощ в реализации различия регистров букв. Более бодробное задание и то что я смог сделать приложено. Заранее...

Вводится слово из n- различных букв (n<10) получить все возможные слова из S букв этого слова (s<=n)
и вывести их в одном из каких нибудь компонентов

Чему равно число всез трёхбуквенных слов из букв слова из букв слова «гипотенуза»?
4. Проверьте то, что число трехбуквенных «слов», которые можно образовать из букв слова «гипотенуза», равно числу всех возможных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru