Форум программистов, компьютерный форум, киберфорум
Наши страницы
Haskell
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
dreems
0 / 0 / 0
Регистрация: 26.03.2018
Сообщений: 202
1

Определить встречается ли строка s2 как подстрока в строке s1

31.01.2019, 10:54. Просмотров 1247. Ответов 9
Метки нет (Все метки)

Даны две строки(списка символов) s1 и s2. Определить встречается ли строка s2 как подстрока в строке s1
Помогите, пожалуйста
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.01.2019, 10:54
Ответы с готовыми решениями:

Дана строка S и подстрока S1. Определить сколько раз S1 встречается в S. Содержимое S не менять.
Дана строка S и подстрока S1. Определить сколько раз S1 встречается в S. Содержимое S не менять.

Определить, сколько раз встречается подстрока в символьной строке
Напишите программу, которая определяет, сколько раз встречается подстрока в символьной строке. ...

Вводится 2 строки. Правда ли, что вторая строка встречается в первой как подстрока
Как сделать проверку введённых символов? или может есть другой метод ? #include<iostream> using...

Определить, сколько раз в строке встречается подстрока "нн"
В программе вводятся по очереди символьные строки и передаются в функцию. Определить, сколько раз в...

сколько раз встречается заданная подстрока в строке
вот так я проверяю строку while (i < a.Length-b.Length) { if...

9
Curry
2952 / 2024 / 252
Регистрация: 01.06.2013
Сообщений: 4,422
Записей в блоге: 8
31.01.2019, 11:02 2
Это выполняет функция
Haskell
1
isInfixOf :: Eq a => [a] -> [a] -> Bool
из модуля
Haskell
1
import Data.List
Первый аргумент подстрока, второй строка.
1
dreems
0 / 0 / 0
Регистрация: 26.03.2018
Сообщений: 202
31.01.2019, 11:17  [ТС] 3
Curry, а как это написать? Я не могу придумать
0
Curry
2952 / 2024 / 252
Регистрация: 01.06.2013
Сообщений: 4,422
Записей в блоге: 8
31.01.2019, 11:54 4
Лучший ответ Сообщение было отмечено mik-a-el как решение

Решение

Haskell
1
2
3
4
5
6
import Data.List
 
main :: IO ()
main = do
    print $ isInfixOf "Haskell" "I really like Haskell."
    print $ isInfixOf "Ial" "I really like Haskell."
0
31.01.2019, 11:54
dreems
0 / 0 / 0
Регистрация: 26.03.2018
Сообщений: 202
31.01.2019, 12:49  [ТС] 5
Спасибо

Добавлено через 52 минуты
Curry, а если мне нужно написать функцию?
Haskell
1
2
3
4
import Data.List
isProverka [] _=True
isProverka _ []=False
isProverka s1 s2=isInfixOf s2 s1
Не собирается. Что не так?
0
Curry
2952 / 2024 / 252
Регистрация: 01.06.2013
Сообщений: 4,422
Записей в блоге: 8
31.01.2019, 12:56 6
Цитата Сообщение от dreems Посмотреть сообщение
Что не так?
Сообщения об ошибках какие? Вы привели полный текст файла?
Вставьте перед второй строкой
Haskell
1
isProverka :: Eq a => [a] -> [a] -> Bool
0
dreems
0 / 0 / 0
Регистрация: 26.03.2018
Сообщений: 202
31.01.2019, 13:05  [ТС] 7
Curry, да, полный текст. После вставки ошибка вот такая: :load "str.hs"
[1 of 1] Compiling Main ( str.hs, interpreted )

str.hs:4:18: error:
parse error on input ‘=’
Perhaps you need a 'let' in a 'do' block?
e.g. 'let x = 5' instead of 'x = 5'
|
4 | isProverka _ [] = False | ^
Failed, no modules loaded.

Добавлено через 1 минуту
Без вставки такая: load "str.hs"

str.hs:3:5: error: parse error on input ‘isProverka’
|
3 | isProverka [] _= True | ^^^^^^^^^^
[1 of 1] Compiling Main ( str.hs, interpreted )
Failed, no modules loaded.
0
Curry
2952 / 2024 / 252
Регистрация: 01.06.2013
Сообщений: 4,422
Записей в блоге: 8
31.01.2019, 13:15 8
dreems, все строки этого исходного кода должны быть без пробелов или табуляций в начале строк.
0
dreems
0 / 0 / 0
Регистрация: 26.03.2018
Сообщений: 202
31.01.2019, 13:22  [ТС] 9
Curry, спасибо, заработало! А вот строев, которую я вставил это функции присваивается тип Eq, где на вход получаем [а] и [а], а на выход значение bool?
0
Curry
2952 / 2024 / 252
Регистрация: 01.06.2013
Сообщений: 4,422
Записей в блоге: 8
31.01.2019, 14:04 10
Цитата Сообщение от dreems Посмотреть сообщение
это функции присваивается тип Eq
Нет. Читайте учебник. Я не учебник.

Добавлено через 31 минуту
Вообще то, это означает что тип параметр a должен быть экземпляром (instance) класса типов Eq.
Но тогда вы должны спросить, "что такое тип параметр и класс типов" и .т.д.
По этому я и советую читать учебник.
0
31.01.2019, 14:04
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.01.2019, 14:04

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

Подсчитать, сколько раз встречается подстрока в строке
Вводится строка и подстрока. Подсчитать, сколько раз встречается подстрока в строке.(string)

Найти сколько раз подстрока s2 встречается в строке s1
Описать класс для работы с символьными строками, включив в него метод, определяющий, сколько раз...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru