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

работа со string - C++

Восстановить пароль Регистрация
 
Витька
0 / 0 / 0
Регистрация: 10.10.2010
Сообщений: 82
27.02.2011, 20:17     работа со string #1
Определить, имеется ли в заданной строке подстрока, содержащая заданное число повторяющихся заданных символов.
(нужно штобы в задании присутствовали циклы, функции, указатели, работа с файлом, промежуточные хранения не использовать, делать через string)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2011, 20:17     работа со string
Посмотрите здесь:

работа со string C++
C++ Работа со строками string
работа со строками [String.h] C++
C++ Работа с string в С++
C++ Работа с классом string в C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Витька
0 / 0 / 0
Регистрация: 10.10.2010
Сообщений: 82
04.03.2011, 01:16  [ТС]     работа со string #2
помогитеее!!!
IrineK
Заблокирован
04.03.2011, 16:25     работа со string #3
Решение:
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
68
69
70
71
72
73
74
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
 
//генерирует подстроку из заданых символов с заданным повторением
string subStrGen(char* ch,int k)
{
    string res="";
    for(int i=0;i<k;i++)
        res+=*ch;
    return res;
}
 
//считает, сколько раз подстрока входит в строку
int repNumb(string* str, string* subs)
{
    int k=0;
    size_t pos=0;
    size_t lenS=str->length();
    size_t lenSb=subs->length();
 
    while(pos!=string::npos)    
    {   pos = str->find(*subs); 
        if(pos!=string::npos)
        {   k++;
            *str = str->substr(pos+lenSb,lenS-pos-lenSb);
        }
    }
    return k--;
}
 
//записывает результаты в файл
void filing(string* str, string* subs,int r)
{
    ofstream fout;
    fout.open("results.txt");
    if (fout.is_open())
    {   fout <<"Original string:\n";
        fout<<*str<<endl;
        fout<<"Substring specified:\n";
        fout <<*subs<<endl;
        fout<<r<<" substrings found\n";
        fout.close();
        cout<<"File created\n";
    }
  else cout << "Unable to open file";
}
 
int main()
{
    string start, sub, replica;
    char spec;
    int n,rep;
 
    cout<<"Input your string\n";
    getline(cin,start,'\n');
    cout<<"Specify the character\n";
    cin>>spec;
    cout<<"How many times to repeat it?\n";
    cin>>n;
 
    replica=start;
    sub=subStrGen(&spec,n);
    rep=repNumb(&start,&sub);
    
    cout<<rep<<" substrings found\n";
 
    cout<<"Filing the results...\n";
    filing(&replica,&sub,rep);
    
    system("pause");
    return 0;
}
Витька
0 / 0 / 0
Регистрация: 10.10.2010
Сообщений: 82
06.03.2011, 14:54  [ТС]     работа со string #4
уууфф. огроменное спасибо. все работает)))
Yandex
Объявления
06.03.2011, 14:54     работа со string
Ответ Создать тему
Опции темы

Текущее время: 08:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru