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

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

Войти
Регистрация
Восстановить пароль
 
vlad3996
6 / 6 / 3
Регистрация: 27.10.2013
Сообщений: 14
#1

Файл. Подстрока из цифр - C++

26.11.2013, 23:54. Просмотров 189. Ответов 0
Метки нет (Все метки)

Требуется определить строки файла, содержащие максимальную по длине подстроку, состоящую только из цифр. Если таких строк несколько, вывести первые 10.
Вот мой код... Выдаёт неверный результат, если в строке одно слово.
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
#include <iostream>
using namespace std;
bool proverka(char *token,int &max)
{
    bool flag=true;
    for(int i=0;i<strlen(token);i++)
        if(!isdigit(token[i]))
            flag=false;
    if((flag)&&(strlen(token)>max))
        max=strlen(token);
    if(flag) return true;
    else return false;
}
int main()
{
    setlocale(LC_CTYPE,"Rus");
    bool flag;
    int number_str=0,kol_max=0,max=0;
    FILE *f1_in,*f1_out;
    if((f1_in=fopen("input.txt","r"))==NULL)
    {
        cout<<"Файл для чтения не открывается"<<endl;
        system("pause");
        return 1;
    }
    char *str=new char [1000];
    char *str2=new char [1000];
    char *token;
    char razd[]=" ,\|";
    fgets(str,1000,f1_in);
    if(feof(f1_in))
    {
        cout<<"Файл пуст"<<endl;
        system("pause");
        return 1;
    }
    rewind(f1_in);
    bool flag1;
    while(fgets(str,1000,f1_in)!=NULL)
    {
        token=strtok(str," ");
        do  proverka(token,max);
        while(token=strtok(NULL," "));
    }
    rewind(f1_in);
    cout<<"Строки, содержащие подстроки максимальной длины :"<<endl;
    while(fgets(str,1000,f1_in)!=NULL)
    {
        flag=true;
        number_str++;   
        strcpy(str2,str);                   //копия строки для вывода
        token=strtok(str,razd); 
        do 
        {
        if(proverka(token,max)&&(flag)&&(kol_max<=10)&&(strlen(token)==max))
        {
            cout<<"Строка "<<number_str<<" ------ "<<str2<<endl;                    //вывод всей строки
            flag=false;         //чтобы повторно не выводило
            kol_max++;
        }
        }
        while(token=strtok(NULL,razd));
    }
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2013, 23:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Файл. Подстрока из цифр (C++):

Подстрока - C++
Всем Приветы, вопрос на сейчас такой: Как получить подстроку из данной строки, если данная задаётся пользователем? Вот пример: ...

подстрока - C++
в заданной строке найти позицию первого вхождения указанной подстроки .не используя стандартные функции.спасибо!

Завершающая подстрока - C++
Есть параметр std:::string Text и локальная переменная i, хранящая индекс символа. Требуется удалить из параметра начальные символы по этот...

Подстрока в пределах от M до N - C++
помогите пож преобразовать в с++,за ранее спасибо Var i,m,n:byte; a,b:string; begin write('Введите слово'); ...

Наибольшая общая подстрока - C++
Люди из раздела &quot;алгоритмы&quot; молчат.. спрошу тут..Прошу прощения за &quot;флуд&quot;. На днях отправил резюме в Яндекс. Откуда мне прислали...

Подстрока, заключенная в кавычки - C++
Всем добрый день! Вот такая примерно задачка. Имеется string S1=&quot;This is the long string having some words \&quot;in quotes\&quot;&quot;; Надо...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.11.2013, 23:54
Привет! Вот еще темы с ответами:

Задача: плохая подстрока. Усовершенствовать алгоритм - C++
Задача: Найдите, сколько существует строк заданной длины n, состоящих только из символов 'a', 'b' и &quot;c&quot;, и не содержащих подстроки...

Запись цифр в файл. - C++
Как записать int f=5; в файл output.txt, Подскажите функцию или алгоритм.

Определить позицию, с которой подстрока входит в строку - C++
не работает программа, выдает ошибки помогите плз // Лабораторная работа №3 // Массивы // #include &quot;stdafx.h&quot; #include...

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


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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