Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.80/25: Рейтинг темы: голосов - 25, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 23.03.2016
Сообщений: 137
1

Определить позицию, с которой подстрока входит в строку

23.10.2016, 19:00. Показов 5028. Ответов 64
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
не работает программа, выдает ошибки помогите плз
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
//  Лабораторная работа №3
//  Массивы
//  
 
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int f(char *s, char *c, int n)
{
    int i, j;       // Счетчики для циклов
    int lenC, lenS; // Длины строк
        
    //Находим размеры строки исходника и искомого
    for (lenC = 0; c[lenC]; lenC++);
    for (lenS = 0; s[lenS]; lenS++);
 
    for (i = 0; i <= lenS - lenC; i++) // Пока есть возможность поиска
    {
        for (j = 0; s[i + j] == c[j]; j++); // Проверяем совпадение посимвольно
        // Если посимвольно совпадает по длине искомого
        // Вернем из функции номер ячейки, откуда начинается совпадение
        if (j - lenC == 1 && i == lenS - lenC && !(n - 1)) return i;
        if (j == lenC)
        if (n - 1) n--; 
        else return i;
        }
    //Иначе вернем -1 как результат отсутствия подстроки
    return -1;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_CTYPE, "rus");//Русификация консоли
    char cont('1');
    while (cont - '0')
    {
        char s[255];//Объявление строки
        char c[255];//Объявление подстроки
        cout << "Введите строку "<<endl;
        cin.getline(s, 255);
        cout << "Введите подстроку "<<endl;
        cin.getline(c, 255);
        int i, n = 0, l = 0;//Объявление переменных
        for (i = 1; n != -1; i++)
        {
            n = f(s, c, i);
            if (n >= 0)
            {
                n += 1;
                cout << "Позиция, с которой подстрока входит в строку = " << n << endl;
                l++;
            }
        }
        if (l==0)
            cout << "Подстрока не входит в строку." << endl;
        cout << "Хотите продолжить работу программы? (Да - любой символ, нет - 0)" << endl;
        cin >> cont;
        cin.ignore(255, '\n');
    }
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.10.2016, 19:00
Ответы с готовыми решениями:

Определить, сколько раз данная подстрока входит в строку
Вводятся подстрока и строка. Определить, сколько раз данная подстрока входит в строку. Наложение...

Определить, сколько раз в строку входит заданная подстрока
Задача дана строка. определить сколько раз входит в нее группа abc с++ Нужно писать на с++ //...

Дана строка. Определить, сколько раз входит в нее подстрока "abc"
написать нужно 2 программы массивы и функции strink.

Определить, входит ли в данную строку пробел
Определить, входит ли в данную строку пробел, и на каких позициях он расположен. P.S. Если это...

64
nd2
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
25.10.2016, 18:53 41
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от Sacredlife Посмотреть сообщение
можно тебя в скайп??
Нет, все здесь обсуждается.
0
0 / 0 / 0
Регистрация: 23.03.2016
Сообщений: 137
25.10.2016, 18:54  [ТС] 42
вот скрин еще, тут что не так?
Миниатюры
Определить позицию, с которой подстрока входит в строку  
0
0 / 0 / 0
Регистрация: 23.03.2016
Сообщений: 137
25.10.2016, 18:54  [ТС] 43
ок, давай тут, здесь что не так?
0
nd2
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
25.10.2016, 18:56 44
Убери первый инклуд, и сделай main() как в коде, который компилируется:
C++
1
int main(int argc, char* argv[])
1
Любитель чаепитий
3742 / 1798 / 566
Регистрация: 24.08.2014
Сообщений: 6,016
Записей в блоге: 1
25.10.2016, 18:59 45
Цитата Сообщение от Sacredlife Посмотреть сообщение
слушай можно тебя в скайп??
Слушай, а можно ты правила прочитаешь?
Особенно пункт 4.6.
Хотя, зная, какие сейчас студентики, сам напишу:
Цитата Сообщение от Правила форума
4.6. Обсуждение вопросов - только в теме на форуме. Приглашения к обсуждению еще где-либо (в том числе и с помощью системы личных сообщений) запрещены, за исключением коммерческих разделов.
0
Модератор
Эксперт CЭксперт С++
5284 / 2371 / 342
Регистрация: 20.02.2013
Сообщений: 5,770
Записей в блоге: 20
25.10.2016, 19:00 46
Цитата Сообщение от Sacredlife Посмотреть сообщение
вот скрин еще
Sacredlife, на скриншотах уместно показывать только ошибки, выдаваемые компилятором. Исходный код программ, пожалуйста, переписывайте (копируйте) непосредственно в тело сообщения, не забывая оформлять его тэгами.
0
0 / 0 / 0
Регистрация: 23.03.2016
Сообщений: 137
25.10.2016, 19:00  [ТС] 47
что значит main??
0
nd2
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
25.10.2016, 19:02 48
Цитата Сообщение от Sacredlife Посмотреть сообщение
что значит main??
44 пост смотри.
0
Любитель чаепитий
3742 / 1798 / 566
Регистрация: 24.08.2014
Сообщений: 6,016
Записей в блоге: 1
25.10.2016, 19:02 49
Цитата Сообщение от Sacredlife Посмотреть сообщение
что значит main??
http://en.cppreference.com/w/c... n_function
0
0 / 0 / 0
Регистрация: 23.03.2016
Сообщений: 137
25.10.2016, 19:02  [ТС] 50
int main(int argc, char* argv[])

вот это? я правильно понял?
0
Модератор
Эксперт CЭксперт С++
5284 / 2371 / 342
Регистрация: 20.02.2013
Сообщений: 5,770
Записей в блоге: 20
25.10.2016, 19:03 51
Цитата Сообщение от Sacredlife Посмотреть сообщение
что значит main??
Sacredlife, от англ. main - "главный". Главная функция программы.
0
nd2
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
25.10.2016, 19:03 52
Цитата Сообщение от Sacredlife Посмотреть сообщение
я правильно понял?
Правильно.
0
0 / 0 / 0
Регистрация: 23.03.2016
Сообщений: 137
25.10.2016, 19:04  [ТС] 53
да я знаю, что главный, я в этом предмете совсем не разбираюсь
0
Любитель чаепитий
3742 / 1798 / 566
Регистрация: 24.08.2014
Сообщений: 6,016
Записей в блоге: 1
25.10.2016, 19:05 54
Цитата Сообщение от gru74ik Посмотреть сообщение
Главная функция программы.
Да она не то чтобы главная, просто точка входа в программу.

Добавлено через 38 секунд
Хотя учитывая её особенности да, она главная.
0
0 / 0 / 0
Регистрация: 23.03.2016
Сообщений: 137
25.10.2016, 19:09  [ТС] 55
блин, вот вставил.
Миниатюры
Определить позицию, с которой подстрока входит в строку  
0
nd2
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
25.10.2016, 19:11 56
Цитата Сообщение от Sacredlife Посмотреть сообщение
вот вставил.
Вот это где?
Цитата Сообщение от Sacredlife Посмотреть сообщение
int main(int argc, char* argv[])
0
0 / 0 / 0
Регистрация: 23.03.2016
Сообщений: 137
25.10.2016, 19:12  [ТС] 57
да, сейчас. там пишет необъявлен идентификатор еще, с тем разобрался, что такое идентификатор?
0
0 / 0 / 0
Регистрация: 23.03.2016
Сообщений: 137
25.10.2016, 19:14  [ТС] 58
вот , ошибка эта
Миниатюры
Определить позицию, с которой подстрока входит в строку  
0
0 / 0 / 0
Регистрация: 23.03.2016
Сообщений: 137
25.10.2016, 19:17  [ТС] 59
мб я зря удалил инклуде?? сейчас читаю, вроде должна стоять

Добавлено через 57 секунд
тоже ошибку выдает, типо не удается открыть файл включение...
0
0 / 0 / 0
Регистрация: 23.03.2016
Сообщений: 137
25.10.2016, 19:19  [ТС] 60
вот
Миниатюры
Определить позицию, с которой подстрока входит в строку  
0
25.10.2016, 19:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.10.2016, 19:19
Помогаю со студенческими работами здесь

Определить, сколько раз входит в строку группа букв abc
Дана строка. Определить, сколько раз входит в нее группа букв abc.

Определить максимальный по модулю элемент элемент массива и позицию в которой он расположен
Помогите пожалуйста решить задачку по с++; Задан одномерный массив В , состоящий из n...

Определить позицию первого вхождения в заданную строку какого-либо символа
Помогите составить процедуру, позволяющую определить позицию первого вхождения в заданную строку...

Определить позицию первого вхождения в заданную строку какого-либо символа из второй заданной строки
б) Даны две строки произвольного текста. Составить процедуру, позволяющую определить позицию...


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru