21.03.2012, 09:36. Просмотров 1060. Ответов 1
Доброе утро!
Есть задача:
Дан файл с текстом. Проверить, сколько раз в тексте встречается какой-либо отрезок ряда 0123456789 длины не меньшей, чем 2. Записать все найденные отрезки в другой файл.
Вопрос скорее в том где почитать о работе с файлами.
Я смотрел Дейтела,Прата,Шилдта,Литмана,гугл - там везде все разное и не понятно что испотльзовать.
Т.е. массивы,строки,классы...это везде одинаково,но это то ifstream, то getline, то еще что-то
Подскажите пожалуйста есть ли инфо по данной теме собранная вместе и доступно объяснена.
Добавлено через 14 часов 50 минут
уже вообщем вечер
я написал чего то такого
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
| // lw4 file work.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>q
#include <string>
#include <cctype>
#include <iostream>
#include <conio.h>
#include <fstream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int year=10;
char c1[100];
string s="";
string s1="";
char key[]("1234567890");
ifstream f_in("d:\\d.txt");
if (!f_in) cout<<"ERROR!!!";
while (f_in)
{
getline(f_in,s1);
s+=s1;
cout<<s1;
}
cout<<"\n";
cout<<s<<"\n";
year=s.size();
for (int i=0; i<year; i++)
{
if ((s[i]>0 && s[i]<47) || (s[i]>58 && s[i] < 127))
s.erase(i,i+1);
}
getch();
return 0;
} |
|
но чего то оно совсем странное выдает
что здесь не так
Добавлено через 6 часов 32 минуты
вчера уже хотел купить решение,не нашел фрилансера)))
Издеваясь над кодом около 2х дней,из них около 25 часов не спя пришел к следующему
Теперь у меня есть сторка с цифрами и заканчивается 2 банка кофе
Подскажите пожалуйста есть ли перспектива и если да натолкните на алгоритм.
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
| // lw4 file work.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>q
#include <string>
#include <cctype>
#include <iostream>
#include <conio.h>
#include <fstream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int year=0;
string s="";
string s1="";
ifstream f_in("d:\\d.txt");
if (!f_in) cout<<"ERROR!!!";
while (f_in)
{
getline(f_in,s1);
s+=s1;
cout<<s1;
}
cout<<"\n";
cout<<s<<"\n";
year=s.size();
s1="";
for (int i=0; i<year; i++)
if (s[i]>47 && s[i]<58)
s1+=s[i];
cout<<s1<<"\n";
getch();
return 0;
} |
|