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

Префиксы и суффиксы

03.09.2019, 19:05. Показов 3958. Ответов 5

Всем привет. Помагите найти ошибку в коде.

Заданы две строки S и s. Определить, является ли строка s префиксом, суффиксом, и тем, и другим или ни тем, ни другим для S. Строки S и s могут содержать произвольные печатные непробельные символы.

Input
Hello lo
123absd 123ab
^^##^#^#^#^^# ^^#
Hehho h
a bs

Output
Suffix
Prefix
Both
Neither
Neither

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
int main() {
    std::string S, s;
    std::cin >> S >> s;
    for (int i = 0; i < S.size() - s.size() + 1; ++i) {
        bool check = true;
        for (int j = 0; j < s.size(); ++j) {
            if (s[i + j] != s[j]) {
                check = false;
            }
            if (check) {
                std::cout << i;
            }
        }
    }
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.09.2019, 19:05
Ответы с готовыми решениями:

Суффиксы ссылок
Здравствуйте, подскажите пожалуйста стоит ли убрать суффикс ссылки ну хорошо это или поло если...

dns-суффиксы
у меня такой вопрос где в linux можно вписать днс суффикс ? для настройки лакальной сити . я только...

Суффиксы в переменных
Читаю Герберта Шилдта. Упомянул он как-то про про суффик который надо использовать при присвоении...

Суффиксы числовых литералов
в учебнике видел вот такую строчку: const float PI = 3.14159F; или вот такую: longvar = 7678L;...

5
221 / 148 / 79
Регистрация: 14.03.2016
Сообщений: 459
03.09.2019, 19:36 2
Цитата Сообщение от Crips_Killers Посмотреть сообщение
for (int i = 0; i < S.size() - s.size() + 1; ++i)
Что вы этим циклом хотите сделать?
Цитата Сообщение от Crips_Killers Посмотреть сообщение
if (check) {
std::cout << i;
}
А это что? Явно не Prefix/Both/Neither.

Цитата Сообщение от Crips_Killers Посмотреть сообщение
Помагите найти ошибку в коде
Весь код ошибочен.

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

p.s. Это твоя "фишка" писать "помАгите"?
0
0 / 0 / 0
Регистрация: 23.08.2019
Сообщений: 17
03.09.2019, 20:50  [ТС] 3
Cortas, Я хочу решить эту задачу так что бы например: lo проверял в Hello это суффикс или что то другое
0
221 / 148 / 79
Регистрация: 14.03.2016
Сообщений: 459
03.09.2019, 20:59 4
Цитата Сообщение от Crips_Killers Посмотреть сообщение
Я хочу решить эту задачу так что бы например: lo проверял в Hello это суффикс или что то другое
???
- Студент, вам дана задача, как вы будете её решать?
- Я буду решать так, чтобы задача решилась
0
170 / 122 / 61
Регистрация: 06.02.2015
Сообщений: 300
04.09.2019, 09:12 5
Лучший ответ Сообщение было отмечено Crips_Killers как решение

Решение

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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include <iostream>
using namespace std;
 
/*
https://stackoverflow.com/questions/7913835/check-if-one-string-is-a-prefix-of-another
*/
 
bool prefix(const string& a, const string& b) {
    if (a.size() > b.size()) {
        return a.substr(0, b.size()) == b;
    }
    else {
        return b.substr(0, a.size()) == a;
    }
}
 
/*https://www.geeksforgeeks.org/check-if-a-string-is-suffix-of-another/ 
*/
 
bool suffix(string s2, string s1){
    int n1 = s1.length(), 
        n2 = s2.length();
    
    if (n1 > n2) {
        return false;
    }
    for (int i = 0; i < n1; i++) {
        if (s1[n1 - i - 1] != s2[n2 - i - 1]) {
            return false;
        }
    }
 
    return true;
}
 
 
int main() {
    string arr[5][2] = { {"Hello","lo"}, {"123absd","123ab"}, {"^^##^#^#^#^^#","^^#"}, {"Hehho","h"},{"a","bs"}};
    string S = "";
    string s = "";
    bool p = false;
    bool sf = false;
 
    for (int i = 0; i < 5; i++){
        p = prefix(arr[i][0], arr[i][1]);
        sf = suffix(arr[i][0], arr[i][1]);
 
        if (p == true && sf == true) {
            cout << "Both" << endl;
        }
 
        if (p == false && sf == false) {
            cout << "Neither" << endl;
        }
 
        if (p == false && sf == true) {
            cout << "Suffix" << endl;
        }
 
        if (p == true && sf == false) {
            cout << "Prefix" << endl;
        }
    }
    
    system("pause");
    return 0;
}
0
812 / 500 / 210
Регистрация: 19.01.2019
Сообщений: 1,196
04.09.2019, 21:07 6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string>
 
int main()
{
    std::pair<std::string, std::string> str;
    std::cin >> str.first >> str.second;
    int res(0);
    if (str.first.compare(0, str.second.size(), str.second) == 0) {
        res |= 1;
    }
    if (str.first.compare(str.first.size() - str.second.size(), str.second.size(), str.second) == 0) {
        res |= 1 << 1;
    }
    std::cout << (res ? res == 3 ? "Both" : res == 2 ? "Suffix" : "Prefix" : "Neither");
 
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.09.2019, 21:07

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Для чего нужны суффиксы?
Здравствуйте. Начал изучать программирование практически с нуля, если не считать Бейсик из...

Нужны ли суффиксы в значениях переменных
Сабж. В переменной типа long, к примеру, нужно к значению приписывать L? Просто вроде в обоих...

Как посмотреть суффиксы CSS-классов модулей в шаблоне?
Скажите пожалуйста, как посмотреть суффиксы CSS-классов модулей в шаблоне? В демо-шаблона они не...

Целочисленные литералы и суффиксы, как правильно это функционирует?
Всем доброго времени суток, снова непонимание, и неудача при поиске ответа, HELP! Имею следующий...

Что означают суффиксы u и w в PHP 7.0 при установке её из сторонних репозиториев
Доброго времени суток уважаемые! Подскажите пожалуйста, как так получилось что в официальных...

Префиксы
Добрый день, нужно сделать чтобы картинка в псевдоэлементе отображалась только в IE8. Дописывал...


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

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

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