0 / 0 / 0
Регистрация: 20.10.2012
Сообщений: 55

Определить содержится ли в строке А строка Б, если да, то вывести номер позиции

07.10.2013, 19:20. Показов 2096. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Даны строки a и b. Определить содержится ли в строке А строка Б, если да, то вывести номер позиции.

Нужно решить задачу c применением Length и циклов for.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.10.2013, 19:20
Ответы с готовыми решениями:

Даны две строки: S1 и S2. Проверить, содержится ли строка S2 в строке S1. Если да, то вывести номер позиции, н
Даны две строки: S1 и S2. Проверить, содержится ли строка S2 в строке S1. Если да, то вывести номер позиции, начиная с которой S2...

Даны строки S и S нулевое.Проверить, содержится ли строка S нулевое в строке S. Если содержится, то вывести TRUE, если не содержится, то FALSE.
Помогите с такой вот программой пожалуйста... Даны строки S и S нулевое.Проверить, содержится ли строка S нулевое в строке S. Если...

Ввести две символьных строки. Выполнить поиск второй строки в первой и вывести номер позиции, с которой вторая строка содержится в первой.
Ввести две символьных строки. Выполнить поиск второй строки в первой и вывести номер позиции, с которой вторая строка содержится в первой. ...

7
 Аватар для n1l
136 / 138 / 18
Регистрация: 26.07.2010
Сообщений: 911
07.10.2013, 19:40
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
static int SubstringPosition(string baseString, string subString)
        {
            int position = 0;
 
            for (int i =0, j = 0; i < baseString.Length; i++)
            {
                if(baseString[i]==subString[j])
                {
                    if(j==0)
                    {
                        position = i+1;
                    }
 
                    if (j==subString.Length-1)
                    {
                        return position;
                    }
                    j++;
                }
            }
            return 0;
        }
0
0 / 0 / 0
Регистрация: 20.10.2012
Сообщений: 55
07.10.2013, 19:44  [ТС]
оу, я такую не объясню, не похоже на начальный уровень. С преподом писали сегодня, но она была попонятней, правда побольше.
0
 Аватар для n1l
136 / 138 / 18
Регистрация: 26.07.2010
Сообщений: 911
07.10.2013, 19:52
Да что тут объяснять, все дубово...
Я немного исправил там, посмотрите внимательнее.

Добавлено через 2 минуты
Плюс это еще вы меня ограничили, так то там еще меньше кода требуется
0
0 / 0 / 0
Регистрация: 20.10.2012
Сообщений: 55
07.10.2013, 19:57  [ТС]
Цитата Сообщение от n1l Посмотреть сообщение
Да что тут объяснять, все дубово...
Я немного исправил там, посмотрите внимательнее.

Добавлено через 2 минуты
Плюс это еще вы меня ограничили, так то там еще меньше кода требуется
Объясните пожалуйста
0
 Аватар для n1l
136 / 138 / 18
Регистрация: 26.07.2010
Сообщений: 911
07.10.2013, 20:06
Цитата Сообщение от dragster Посмотреть сообщение
Объясните пожалуйста

Кликните здесь для просмотра всего текста


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
//на вход принимаем две строки, главную и подстроку
static int SubstringPosition(string baseString, string subString)
        {
//это индекс позиции который мы хотим вернуть, если подстрока была найдена
            int position = 0;
 //тут цикл по главной строке, можно заметить, что объявлены два счетчика
//счетчик j можно вынести и поставить перед циклом, в корне ничего не изменится
//но я люблю все счетчики в одном месте определять
            for (int i =0, j = 0; i < baseString.Length; i++)
            {
//тут проверка на совпадение по символам
                if(baseString[i]==subString[j])
                {
//если совпадение по первому элементу подстроки
//запоминаем позицию
//так как позиция у здоровых людей нумеруется с еденицы, а все массивы и индексаторы с нуля
//вносим соответствующую поправку и увеличиваем значение на 1
                    if(j==0)
                    {
                        position = i + 1;
                    }
 //если вся подстрока все таки нашлась в базовой строке
//возврашаем позицию нашего первого совпадения
                    if (j==subString.Length-1)
                    {
                        return position;
                    }
                    j++;
                }
            }
//если ничего не совпало, то возвращаем 0 как знак, что совпадений нет.
            return 0;
        }



Так что берите свои сто рублей в ручки и идите покупайте книги

эту
и вот эту
0
Заблокирован
07.10.2013, 20:40
C#
1
2
3
4
5
6
7
8
9
10
  static int MyFunc(string init, string search)
        {
            for (int i = 0, j = 0; i < init.Length; i++)
                if (init[i] == search[j])
                {
                    if (++j == search.Length) return i - search.Length+1;
                }
                else j = 0;
            return -1;
        }
0
 Аватар для n1l
136 / 138 / 18
Регистрация: 26.07.2010
Сообщений: 911
07.10.2013, 20:54
Вот плюс у меня еще и ошибка, забыл j обнулить при несовпадении.

Добавлено через 40 секунд
Цитата Сообщение от dragster Посмотреть сообщение
Давай вебмани
Мне не нужно, спасибо

Добавлено через 1 минуту
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
static int SubstringPosition(string baseString, string subString)
        {
            int position = 0;
 
            for (int i =0, j = 0; i < baseString.Length; i++)
            {
                if(baseString[i]==subString[j])
                {
                    if(j==0)
                    {
                        position = i;
                    }
 
                    if (j==subString.Length-1)
                    {
                        return position;
                    }
                    j++;
                }
               j = 0; //ошибочку подправил.
            }
            return 0;
        }
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.10.2013, 20:54
Помогаю со студенческими работами здесь

Функция определяющая номер позиции, начиная с которой в строке содержится последнее вхождение подстроки
Описать функцию PosLast(s1, s) целого типа, возвращающую номер позиции, начиная с которой в строке s содержится последнее вхождение...

Функция целого типа, возвращающая номер позиции с которой в строке s содержится последнее вхождение подстроки s1
Описать функцию PosLast(s1, s) целого типа, возвращающую номер позиции, начиная с которой в строке s содержится последнее вхождение...

Описать функцию целого типа, возвращающую номер позиции, с которой в строке содержится последнее вхождение подстроки
Описать функцию PosLast (subs,s,k) целого типа,возвращающую номер позиции, с которой в строке s содержится последнее вхождение подстроки...

Дана строка, содержащая латинские буквы и скобки. Если скобки расставлены правильно - вывести 0. Иначе - номер позиции, где есть ошибочная скобка
Дана строка, содержащая латинские буквы и круглые скобки. Если скобки расставлены правильно (то есть каждой открывающей соответству-ет одна...

Вывести порядковый номер слова максимальной длины и номер позиции в строке, с которой оно начинается
как вывести на экран порядковый номер слова максимальной длины и номер позиции в строке, с которой оно начинается ?


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

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

Новые блоги и статьи
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru