0 / 0 / 0
Регистрация: 08.12.2019
Сообщений: 6
1

Определить есть ли в строке идентификаторы, если есть, то напечатать самый длинный идентификатор

08.12.2019, 13:38. Показов 2001. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста)
Нужно ввести строку и найти в ней идентификатор, если их несколько, то самый длинный. Идентификатор вводится с консоли как и строка (можно сказать что нужно найти ключевые слова).
Я всё это выношу в функцию т.к это не единственная задача проги.
Не совсем понимаю как сравнить два слова по длине?
Вот что накидал пока.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//Функция для создания и работы со строкой
        static void StrCreate()
        {
            string findStr;
            string str;
            Console.WriteLine("Введите строку");
            str = Console.ReadLine();
            Console.WriteLine("Введите идентификатор");
            findStr = Console.ReadLine();
            string[] strArr = str.Split(new Char[] { ' ', ',', '.', ':', '!', '?', ';' }, StringSplitOptions.RemoveEmptyEntries);
            string[] idStrArr = findStr.Split(new Char[] { ' ', ',', '.', ':', '!', '?', ';' }, StringSplitOptions.RemoveEmptyEntries);
            //string[] strArr = str.Split(',', ' ', '.', ';', ':', '?', '!');
            string[] find = new string[strArr.Length];
            for (int i = 0; i < strArr.Length; i++)
            {
                Console.Write(strArr[i] + " ");
            }
 
            if (strArr.Length<idStrArr.Length)
            {
                Console.WriteLine("Идентификатор меньше строки");
            }
            else
            {
                for(int i = 0; i < strArr.Length; i++) //не дописано можно убрать
                {
                    
                }
            }
            Console.WriteLine(find);
 
        }
Заранее спасибо
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.12.2019, 13:38
Ответы с готовыми решениями:

Определить есть ли в числе цифра 3, если есть напечатать это число
Задается массив, рандомный из 10 чисел в диапазоне от -20 до 20.Найти среди его чисел, такое в...

Определить если в строке буква 'а'. Если есть вывести 'есть'
помогите написать программу

Составьте программу, выясняющую, есть ли в заданной строке Х заданное слово Y, и, если есть, то вывести слово, следующее в строке за этим словом
Составьте программу, выясняющую, есть ли в заданной строке Х заданное слово Y, и, если есть, то...

Есть число K, определить, входят ли в него числа 1 и 5, если да, то напечатать их в порядке их следования
Вот, все что сделал. Но не могу сделать так, чтобы эти числа(1 и 5) печатались в порядке их...

2
469 / 296 / 166
Регистрация: 18.03.2018
Сообщений: 955
08.12.2019, 19:30 2
Лучший ответ Сообщение было отмечено ruKiMru как решение

Решение

Если правильно понял задачу то вот:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
static void Main(string[] args)
        {
            {
                string findStr;
                string str;
                Console.WriteLine("Введите строку");
                str = Console.ReadLine();
                Console.WriteLine("Введите идентификатор");
                findStr = Console.ReadLine();
                string[] strArr = str.Split(new Char[] { ' ', ',', '.', ':', '!', '?', ';' }, StringSplitOptions.RemoveEmptyEntries);
                string[] idStrArr = findStr.Split(new Char[] { ' ', ',', '.', ':', '!', '?', ';' }, StringSplitOptions.RemoveEmptyEntries);
                //string[] strArr = str.Split(',', ' ', '.', ';', ':', '?', '!');
                string find = "";
                //string[] find = new string[strArr.Length];
 
                for (int r = 0; r < idStrArr.Length; r++)
                {
                    for (int i = 0; i < strArr.Length; i++)
                    {
                        string str1 = Convert.ToString(idStrArr[r]);
                        string str2 = Convert.ToString(strArr[i]);
                        if (str1.Equals(str2))
                        {
                            if (str1.Length > find.Length) find = str1;
                        }
                    }
                }
                    if (strArr.Length < idStrArr.Length)
                    {
                        Console.WriteLine("Идентификатор меньше строки");
                    }
                    else
                    {
                        for (int i = 0; i < strArr.Length; i++) //не дописано можно убрать
                        {
 
                        }
                    }
                
                Console.WriteLine(find);
 
            }
        }
Сравниваем по очереди каждый элемент строки 2 с каждым элементом строки 1. В случае совпадения записываем в find самый длинный
1
0 / 0 / 0
Регистрация: 08.12.2019
Сообщений: 6
09.12.2019, 08:05  [ТС] 3
Спасибо! Вроде всё работает)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.12.2019, 08:05
Помогаю со студенческими работами здесь

Определить, встречаются ли в строке палиндромы, если есть, то вывести их.
Помогите, пожалуйста, написать программу на JS, которая определяет, встречаются ли в строке...

Определить, есть ли в заданном предложении цифры. И если есть, найти их сумму
Определить, есть ли в заданном предложении цифры. И если есть, найти их сумму.

Необходлимо определить, есть ли в массиве мажорирующий элемент, и если есть, то какой
Мажорирующим элементом в массиве А будем называть элемент, встречающийся в массиве более n/2 раз....

Определить есть ли в матрице ненулевые элементы и если есть, то указать их индексы
всем здраствуйте! мне нужна помощь:umbrage: вот задание: задана целочисленная квадратная матрица...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru