Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
trustguy
0 / 0 / 0
Регистрация: 07.02.2015
Сообщений: 16

Поиск подстроки в строке с маской

08.02.2015, 06:36. Просмотров 702. Ответов 3
Метки (Все метки)

Суть вот в чем: дан текст и маска. Маска содержит буквы и символ заполнитель *, который заменяет любое сочетание слов, в том числе и пустое. Нужно распечатать все слова, соответствующие маске.

Пример:

Исходный текст: "Она открыла окна настежь".

Результаты для различных значений маски:

*а - Она открыла окна
*кр* - открыла
*а*ь - настежь

Программу необходимо реализовать исключительно с использованием подпрограмм из библиотеки <string.h>, то есть работать со строкой, как с обычным массивом, нельзя.

Добавлено через 13 часов 20 минут
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
#include "stdafx.h"
#include <conio.h>
#include <locale>
#include <string.h>
#define N 50
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, ".1251");
    char *str, *search;
    str = (char*)malloc(N*sizeof(char));
    search = (char*)malloc(N*sizeof(char));
    puts("Введите строку:\n");
    gets_s(str,N);
 
    puts("Введите слова для поиска:\n");
    gets_s(search,N);
 
    printf(strstr(str, search));
    printf("\n");
    
 
    _getch();
 
    return 0;
}
я хотел осуществить поиск через подпрограмму strstr(), но она возвращает следующие результаты:

Пример: введена строка "Она готовила очень вкусные пирожные"
Строка поиска: "го"

Тогда функция вернет строку "готовила очень вкусные пирожные".

Есть ли в C какая-нибудь функция, чтобы возвращалось именно это слово, в котором содержится подстрока. И еще я так и не придумал, что делать с этими звездочками. Ведь в качестве входных данных поиска должна выступать строка вида "го*". Помогите, пожалуйста

Вернуться к обсуждению:
Поиск подстроки в строке с маской

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.02.2015, 06:36
Готовые ответы и решения:

Поиск подстроки в строке
Здравствуйте! Необходимо выполнить следующее задание. В заданной строке найти...

Поиск подстроки в строке
Задача заключается в том, что есть один массив, состоящий из &quot;ab cd ef&quot; и есть...

Поиск подстроки в строке
Нужно сделать поиск подстроки в строке на С. Без использования встроенной...

Поиск подстроки в строке
Программу я написал, но она не хочет работать, не могу отладить... ...

Поиск подстроки в строке
есть код, только я не очень понимаю как он работает P.S. считает сколько раз...

3
Другие темы раздела
C (СИ) Копирование входного потока в выходной с заменой каждой строки http://www.cyberforum.ru/c-beginners/thread1370278.html
Упражнение 1.9. Напишите программу для копирования входного потока в выходной с заменой каждой строки, состоящей из одного или нескольких пробелов, одним пробелом. У меня получилось так: #include...
C (СИ) Лексический анализатор из K&R Здравствуйте уважаемые форумчане помогите пожалуйста! В книге K&R приводится пример небольшого лексического анализатора код которого мне вобщем понятен за исключением этого ungetch(c); return... http://www.cyberforum.ru/c-beginners/thread1370267.html
Напишите программу для подсчётов пробелов, знаков табуляции и символов конца строки C (СИ)
#include <stdio.h> /* K&R: Упражнение 1.8. Напишите программу для подсчётов пробелов, * знаков табуляции и символов конца строки. */ /* P.s. Когда надоест вводить символы нажмите Ctrl+D...
C (СИ) Напечатать все нечетные числа от 150 до 20
Напечатать все нечетные числа от 150 до 20. Как это можно реализовать без оператора If? То есть условие в самой программе должно оставаться прежним. #define _CRT_SECURE_NO_WARNINGS...
C (СИ) Напишите программу для вывода значения константы EOF http://www.cyberforum.ru/c-beginners/thread1370211.html
Упражнение 1.7. Напишите программу для вывода значения константы EOF. Ничего другого не пришло в голову как: #include <stdio.h> int main() { printf("%d\n",EOF); return 0; }
C (СИ) Прокомментировать код программы (Обход ориентированного графа в ширину) Здравствуйте! Очень нужно написать прогу для обхода ориентированного графа в ширину. Нашёл код, но как он работает понять немогу. Помогите пожалуйста! !! #include<conio.h> #include<stdio.h>... подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru