Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
SantaCruz
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 5
#1

Указатели: посчитать количество вхождений подстроки в строку - C++

02.12.2012, 19:38. Просмотров 531. Ответов 9
Метки нет (Все метки)

Не могу дописать программу.
Заранее извените, ещё не умею вставлять код программы...
Выделить код и на панели, где вводите текст, ткнуть на соответствующий язык.
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
вот она #include "delLast.h"
#include <iostream>
#include <string>
using namespace std;
int main ()
{
    char tmp [80];
    cout<<"Enter tmp->"<<'\t';
    cin.getline (tmp,80);
    char* pr (new char [strlen (tmp)+1]);
    strcpy_s(pr,strlen (tmp)+1,tmp);
    char pstr [20]; 
    cout<<"Enter pstr->"<<'\t';
    cin.getline (pstr, 20);
    char* ps(&tmp[0]);
    char* pss(&pstr[0]);
    int n=0;
    char*p , *r;
    while (*ps)
    {
        for (p=ps, r=pss; *r && *p == *r; p++, r++);
        if (!*r)
        {
            ++n;
            ps=p;
        }
        else 
            ps++;
    }
           void delLast (char* ps, const char& pss)
    {
        char *pIn, *pOut;
        pIn = pOut = ps + strlen (ps)-1;
        while (*pIn != pss && pIn >= ps)
        { pIn--; pOut--;}
        if (pIn<ps)
        {pOut=ps; return ; }
        for ( ++pIn; *pIn; pIn++, pOut++)
            *pOut = *pIn;
        *pOut='\0';
    }
        cout<<"n="<<n<<endl;
    cout<<tmp<<endl;
    return 0;
}
В этой программе нужно посчитать кол-во вхождений подстроки в строку, и после удалить последнее вхождение, вывести результат. Почему-то сумму вхождений пишет 0. Помогите разобраться.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2012, 19:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Указатели: посчитать количество вхождений подстроки в строку (C++):

Найти количество и места вхождений подстроки в строку - C++
Всем привет, есть задача, где нужно найти количество и места вхождений подстроки в строку, но она немного не стандартна, то есть в...

Как подсчитать количество вхождений подстроки в строку - C++
Добрый вечер! Как можно подсчитать количество вхождений строки S2 в строку S1? Допустим: S1= dfsgsffgsrr S2= gs

Определить количество вхождений подстроки в заданную строку - C++
Определить количество вхождений подстроки в заданную строку.. Добавлено через 3 часа 57 минут Вообщем сам допер. Если кому...

Запросить строку, посчитать количество вхождений каждой буквы, и вывести статистику - C++
Не могу решить!Помогите!

Функции посчитывающие количество вхождений подстроки в строку, реализация через char* и через шаблон - C++
Необходимо реализовать две функции: 1) int SubStrCount(const char *str, const char *subStr); 2) template&lt;typename T&gt;...

Подсчет вхождений подстроки в строку - C++
Здравствуйте, помогите найти ошибку, в файле есть строки например S1gfgd S2vsdfvbf S1ffgv необходимо подсчитать сколько раз...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MaRKerNSK
24 / 11 / 1
Регистрация: 26.11.2012
Сообщений: 110
Записей в блоге: 2
02.12.2012, 19:47 #2
Цитата Сообщение от SantaCruz Посмотреть сообщение
for (p=ps, r=pss; *r && *p == *r; p++, r++);
Очень интересный способ выяснять условия=) и не ругается? =)

Добавлено через 1 минуту
А вставлять код просто, в форме которой вы вводите свой текст есть кнопочка "C++" на ней нажимаете и появляется BBкод
C++
1
2
3
4
5
6
int main(void)
{
std::cout<<"heloy";
system("pause>>void");
return 0;
}
0
SantaCruz
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 5
02.12.2012, 19:47  [ТС] #3
Ну он ругается только из-за void я пробовал писать его в другом файле и вызывать, но все-равно не то
0
MaRKerNSK
24 / 11 / 1
Регистрация: 26.11.2012
Сообщений: 110
Записей в блоге: 2
02.12.2012, 19:54 #4
Вам как минимум надо правильно задать условие цикла и не забывайте про breack; это выход из цикла, оперируйте if ифами и тд...
0
SantaCruz
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 5
02.12.2012, 19:58  [ТС] #5
а как быть с void dellast?
0
MaRKerNSK
24 / 11 / 1
Регистрация: 26.11.2012
Сообщений: 110
Записей в блоге: 2
02.12.2012, 19:59 #6
Цитата Сообщение от SantaCruz Посмотреть сообщение
void delLast (char* ps, const char& pss)
Это вот здесь? а чот вы этом хотите сказать? или это объявление функции? что вы вообще хотели тут сделать?
0
SantaCruz
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 5
02.12.2012, 20:03  [ТС] #7
Да.Тут он пишет недопустимые локальные переонпределения функции. У меня имеется образец, я пытался по нему сделать, это в принципе он и есть только в образце удалялся один символ
0
MaRKerNSK
24 / 11 / 1
Регистрация: 26.11.2012
Сообщений: 110
Записей в блоге: 2
02.12.2012, 20:06 #8
строкой
C++
1
2
3
4
5
6
7
8
9
10
11
void delLast (char* ps, const char& pss)
{
тело функции
}
 
int main (void)
{
....
delLast (Аргументы функции);
....
}
Вот так должно быть в теле функции нельзя объявлять другие функции. по такому типу только в структурах и классах можно))
0
SantaCruz
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 5
02.12.2012, 20:09  [ТС] #9
А под "аргументами функции" что подразумевается?
0
MaRKerNSK
24 / 11 / 1
Регистрация: 26.11.2012
Сообщений: 110
Записей в блоге: 2
02.12.2012, 20:16 #10
Цитата Сообщение от MaRKerNSK Посмотреть сообщение
(char* ps, const char& pss)
вот они только сюдда вводишь уже
C++
1
2
3
4
5
6
7
main ()
{
char * arg1;
char const arg2;
 
func(arg1, arg2);
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2012, 20:16
Привет! Вот еще темы с ответами:

Подсчитать количество вхождений слова «мама» в строку и вывести номера первых позиций этих вхождений - C++
Помогите исправить ошибку. Как вывести номера первых позиций вхождений слова мама? Подсчитать количество вхождений слова «мама» в строку...

Посчитать количество всех букв и количество вхождений каждой буквы - C++
Есть файл из нескольких строк. нужно: 1 посчитать количество всех букв 2 посчитать количество каждой из букв (abcd) Проблема:...

Посчитать количество вхождений каждой буквы в строке - C++
Мне нужно сначала: -спросить у человека строку -надо посчитать количество вхождений каждой буквы -вывести статистику например: ...

Посчитать количество вхождений каждой буквы в строке - C++
Мне нужно сначала: -спросить у человека строку -надо посчитать количество вхождений каждой буквы -вывести статистику например: ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
02.12.2012, 20:16
Ответ Создать тему
Опции темы

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