9 / 4 / 2
Регистрация: 29.11.2018
Сообщений: 215
1

Найти первое вхождение в строку заданной подстроки

06.12.2019, 10:07. Показов 3006. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Без использования функций стандартной библиотеки выполнить задание: найти первое вхождение в строку заданной подстроки.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.12.2019, 10:07
Ответы с готовыми решениями:

Удалить из строки первое вхождение заданной подстроки
Найти ошибки в коде с++ удалить из строки первое вхождение буквосочетание 'while' #include...

Первое вхождение подстроки в строку (Алгоритм Боуера-Мура)
Разработать программу, которая в строке с N>255 символов находит первое вхождение подстроки с...

Найти первое вхождение подстроки и передать указатель
Есть cимвoльная cтрока и подcтpока. Нужно найти пepвоe вхождение подстроки в строку и передать...

Найти последнее вхождение подстроки в строку
Нужно нати последнее вхождение определенной подстроки в строку. Help!

11
"C with Classes"
1634 / 1392 / 521
Регистрация: 16.08.2014
Сообщений: 5,828
Записей в блоге: 1
06.12.2019, 10:14 2
Цитата Сообщение от Pavlory Посмотреть сообщение
Найти первое вхождение в строку заданной подстроки
под себя адаптируй код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int search_reg(char *str1, char *str2)   //Функция поиска одинаковых символов в строке (с учетом регистра)
{
  int t,a = 0;
  char *p, *p2;
 
   for (t=0; str2[t]; t++){
    p = &str2[t];
    p2 = str1;
    
    while (*p2 && *p2 == *p){
      p++;
      p2++;
    }
    if (!*p2)
      a++;
    }
return a;
}
0
Диссидент
Эксперт C
27498 / 17186 / 3784
Регистрация: 24.12.2010
Сообщений: 38,715
06.12.2019, 10:14 3
Pavlory, Какая строка? char? string?
0
9 / 4 / 2
Регистрация: 29.11.2018
Сообщений: 215
06.12.2019, 10:37  [ТС] 4
char.
0
Диссидент
Эксперт C
27498 / 17186 / 3784
Регистрация: 24.12.2010
Сообщений: 38,715
06.12.2019, 12:09 5
Как-то так
C++
1
2
3
4
5
6
7
8
9
char s[] = "abcdefde", t[] = "de", *p;
for(p=s; *p; p++) {
  int i;
  for(int i=0;  t[i]; i++)
    if (p[i]!=t[i]) break;
  if (t[i]==0)  break;
}
if (*p==0) p = NULL;
 // в результате p указывает на 1-е вхождение или =NULL, если вхождений нет
0
9 / 4 / 2
Регистрация: 29.11.2018
Сообщений: 215
06.12.2019, 13:03  [ТС] 6
В строке 6 неинициализирована переменная i.
0
Диссидент
Эксперт C
27498 / 17186 / 3784
Регистрация: 24.12.2010
Сообщений: 38,715
06.12.2019, 13:25 7
Pavlory, в строчке 4 надо
C++
1
for(i=0;  t[i]; i++)
описочка моя.
0
9 / 4 / 2
Регистрация: 29.11.2018
Сообщений: 215
06.12.2019, 13:40  [ТС] 8
А как результат будет по правильному вывести из этого алгоритма? Я понял, что если p = NULL, то вхождений нет. А если они есть, то что тогда?
0
Диссидент
Эксперт C
27498 / 17186 / 3784
Регистрация: 24.12.2010
Сообщений: 38,715
06.12.2019, 13:43 9
Цитата Сообщение от Pavlory Посмотреть сообщение
А если они есть, то что тогда?
Это уж тебе решать...
0
9 / 4 / 2
Регистрация: 29.11.2018
Сообщений: 215
08.12.2019, 23:24  [ТС] 10
Ну, как результат вывести в консоль, мол "первое вхождение подстроки: "?
0
Диссидент
Эксперт C
27498 / 17186 / 3784
Регистрация: 24.12.2010
Сообщений: 38,715
09.12.2019, 00:15 11
Цитата Сообщение от Pavlory Посмотреть сообщение
Ну, как результат вывести в консоль, мол "первое вхождение подстроки: "?
Блин! В каком виде-то? Чо, совсем ничего не знаешь- не умеешь? Так хоть на примере покажи, чего тебе надобно...
0
9 / 4 / 2
Регистрация: 29.11.2018
Сообщений: 215
09.12.2019, 09:32  [ТС] 12
Цитата Сообщение от Байт Посмотреть сообщение
совсем ничего не знаешь- не умеешь?
Приблизительно так, да.
Цитата Сообщение от Байт Посмотреть сообщение
хоть на примере покажи, чего тебе надобно
Если бы я сам знал. У меня есть только постановка задачи.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.12.2019, 09:32
Помогаю со студенческими работами здесь

Найти первое и последнее вхождение заданной буквы в слове
Дана строка. Если в этой строке буква f встречается только один раз, выведите её индекс. Индексы...

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

Найти первое вхождение в строку заданного ключевого слова
1. Обеспечить ввод строки, затем определить ее длину, и определить в ней первое вхождение заданного...

Как можно найти вхождение подстроки в строку без строковых функций?
Как можно найти вхождение подстроки в строку без строковых функций?


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

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

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