Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
0 / 0 / 0
Регистрация: 28.06.2013
Сообщений: 90

Поиск последнего вхождения в строку заданной подстроки

17.01.2014, 00:28. Показов 3045. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
8.8.1.

Помогите, пожалуйста, решить задачу в С++.

Написать программу поиска последнего вхождения в строку заданной подстроки.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.01.2014, 00:28
Ответы с готовыми решениями:

Поиск последнего вхождения подстроки s1 в строку s
#include <stdio.h> int count_of_substrings(string s, string s1){ int start = 0; int count = 0; int pos = 0; ...

Своя функция lastpos (поиск последнего вхождения подстроки в строку)
Написать функцию, которая выполняет действие функции LastPos(s,s1)поиск последнего вхождения под строки s1 в строку s. Но без использовании...

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

3
 Аватар для zitxbit
96 / 748 / 279
Регистрация: 11.04.2012
Сообщений: 971
17.01.2014, 12:12
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
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
 
int main(int argc, char* argv[])
{
    char str1[256] = "fruit apple apple big\0";
    char str2[256] = "apple\0";
 
    double d = 0.00; int r = strlen(str1)-1;
    while (r >= 0 && d < 1.00)
    {
        int i = 0, n = r--; d = 0.00;
        while (str1[n] != '\0' && str2[i] != '\0')
            d+=(str2[i++] == str1[n++]) ? (double)1/strlen(str2) : 0;
    }
 
    printf("%s\n%s (position = %d)\n", str1,str2,r+1);
 
    _getch();
 
    return 0;
}
http://codepad.org/8XwcGPpz
Миниатюры
Поиск последнего вхождения в строку заданной подстроки  
1
 Аватар для MicM
840 / 498 / 325
Регистрация: 29.12.2009
Сообщений: 1,106
17.01.2014, 12:19
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
#include <iostream>
#include <cstring>
using std::cout;
using std::cin;
 
int main()
{
    const int maxLength = 128;
    char str[maxLength],substr[maxLength];
    cout <<"String: ";
    cin.getline(str,maxLength);
    cout <<"Substring: ";
    cin.getline(substr,maxLength);
    int i = strlen(str) - 1;
    int substrLength = strlen(substr);
    bool flag;
    int j,position = -1,tmpIndex;
    while (i>substrLength)
    {
        flag = true;
        j = 1;
        tmpIndex = i;
        while (j!=substrLength && flag)
        {
            if (substr[substrLength-j]!=str[i])
                flag = false;
            else
            {
                j++;
                i--;
            }
        }
        if (flag)
        {
            position = i;
            break;
        }
        else i = --tmpIndex;
    }
    if (position==-1)
        std::cout <<"Substring not found!\n";
    else std::cout <<"Substring is found: " <<position <<std::endl;
    return 0;
}
1
Эксперт по математике/физикеЭксперт С++
 Аватар для Ilot
2222 / 1424 / 419
Регистрация: 16.05.2013
Сообщений: 3,639
Записей в блоге: 6
17.01.2014, 12:40
C++
1
2
3
4
5
6
7
8
9
10
#include<iostream>
int main()
{
    system("chcp 1251>0");
    std::string str = "Не много лет тому назад Не много лет тому назад", substr = "лет";
    std::string::reverse_iterator iter = std::search(str.rbegin(), str.rend(), substr.rbegin(), substr.rend());
    std::cout << "Последнее вхождение в позиции:" << iter - str.rbegin() + substr.size() << std::endl;
    /*Либо str.rend() - iter - substr.size() если с начала строки */
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.01.2014, 12:40
Помогаю со студенческими работами здесь

Поиск в заданной строке последнего вхождения заданного символа
Помогите написать функцию, которая ищет в заданной строке последнее вхождение заданного символа (char *strrchr(const char *s1, int c)

Reverse interator и поиск последнего вхождения символа в строку
Господа и дамы, я поставлен в тупик &quot;изобретательным&quot; способом работы со строками. Вот смоторите. есть URI...

Функция LastPos(s, s1): поиск последнего вхождения подстроки s1 в строку s
Нужно написать программу, которая будет выполнять поиск последнего вхождения подстроки s1 в строку s. Прошу пожалуйста помочь

По позиции последнего вхождения заданной подстроки S в строку. По части строки, расположенной между первым вхо
Парни помогите,кто знает такое. Разработайте классы для решения предложенной задачи . При необходимости, дополните существующие классы...

Определение последнего вхождения подстроки в строку
Написать следующие функции в двух вариантах: с использованием индексов и указателей. В строке string1 определяет последнее вхождение в...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru