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

Нужно написать программу, которая считывает текст из файла и выводит на экран только строки, не содержащие двузначных чисел - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Двумерные массивы http://www.cyberforum.ru/cpp-beginners/thread175558.html
Помогите люди добрые:) Дана целочисленная прямоугольная матрица, определить: 1) Кол-во отрицательных эл-тов тех строк, которые содержат хотя бы один нулевой элемент. 2) Номер строк и столбцов всех седловых точек матрицы. Примечание: Матрица А имеет седловую точку Aij, если Аij является минимальным эл-том в i строке и максимальным в j столбце.
C++ Определить количество столбцов матрицы, не содержащих ни одного нулевого элемента Здравствуйте! Помогите , пожалуйста, решить задачу. Вот текст:1) Дана целочисленная прямоугольная матрица. Определить количествло столбцов, не содержащих ни одного нулевого элемента. 2)Характеристикой строки целочисленной матрицы назовём сумму её положительных чётных элементов. Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик. Все эти задачи нужно... http://www.cyberforum.ru/cpp-beginners/thread175414.html
C++ Алгоритмы и программы по обработке одномерных и двумерных массивов
Здравствуйте. Помогите, пожалуйста, решить задачу. Вот текст: В одномерном массиве, состоящем из n ещественных элементов, вычислить: 1) сумму положительных элементов массива 2)произведение элементов массива, расположенных между максимальным и минимальным по модулю элементами Упорядочить элементы массива по убыванию модулей элементов. выполнить, используя динамические массивы. Всё это нужно...
С++ и разние ОС C++
Все учебники по СИ++ учат как програмировать для Виндовс ,а как програмироватть длч Макинтош...?
C++ C++ для телефоном http://www.cyberforum.ru/cpp-beginners/thread175244.html
Возможно на СИ++ писать программи для телефонов..как нап яве=))?
C++ Не получается исправить код помогите исправить код пожалуйста char limit, notation; do { error = 0; int i = 0; cout << "Enter number: "; cin >> limit; do { подробнее

Показать сообщение отдельно
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
15.10.2010, 01:52     Нужно написать программу, которая считывает текст из файла и выводит на экран только строки, не содержащие двузначных чисел
обновил

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
#include <iostream>
 
using namespace std;
 
bool has_dig2num(const char *line);
 
int main(void)
{
    const char *lines[] = {
        "abcd", "ab7cd", "abcd7", "1efgh1",
        "11efgh", "ab88cd", "efgh11", "11abcd11",
        "111efgh", "ab888cd", "efgh111","111abcd111",
        "11abcd111", "111efgh11",
        "1111", "111", "11", "1", ""
    };
    
    for (int i = 0; i < (int) (sizeof lines / sizeof lines[0]); i++) {
        cout.width(10);
        cout << lines[i]
             << "    -    "
             << has_dig2num(lines[i])
             << endl;
    }
    
    return 0;
}        
 
bool has_dig2num(const char *line)
{
    for ( ; *line != '\0'; line++)
        if (isdigit(*line) && *(line + 1) != '\0') {
            int i;
            for (i = 0; isdigit(*line) && ++i <= 2; line++)
                ;
            if (i == 2)
                return true;
        }
    return false;
}
Код
[guest@localhost tests]$ ./t2
      abcd    -    0
     ab7cd    -    0
     abcd7    -    0
    1efgh1    -    0
    11efgh    -    1
    ab88cd    -    1
    efgh11    -    1
  11abcd11    -    1
   111efgh    -    0
   ab888cd    -    0
   efgh111    -    0
111abcd111    -    0
 11abcd111    -    1
 111efgh11    -    1
      1111    -    0
       111    -    0
        11    -    1
         1    -    0
              -    0
[guest@localhost tests]$
, терь по ходу конечный вариант, удалил ещё дубликаты в тесте

Добавлено через 11 часов 30 минут
не, 11111 воспринимает как 11

Добавлено через 27 минут
по ходу нельзя её в три строчки написать
сделал более общую

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 <stdio.h>
#include <ctype.h>
 
#define arrelsize(a) sizeof (a) / sizeof (a)[0]
#define ROUNDSMAX  10
 
int has_ndignum(const char *s, size_t n);
 
int main(void)
{
    int i, j;
    
    const char *lines[] = {
        "",
        "abc",
        "1",
        "11",
        "111",
        "1abc",
        "abc1abc",
        "abcabc1",
        "111abcabc",
        "abc111abc",
        "abcabc111",
        "1ab11ab111",
        "abc1ab11ab111abc",
        "abc1ab11ab111"
    };
    
    for (i = 0; i <= ROUNDSMAX; i++) {
        printf("%3d:\n", i);
        for (j = 0; j < arrelsize(lines); j++)
            printf(
                "%20s - %d\n",
                lines[j],
                has_ndignum(lines[j], i)
            );
    }
    
    return 0;
}
 
int has_ndignum(const char *s, size_t n)
{
    size_t count = 0;
    enum { YES = 1, NO = 0 } innum = NO;
    
    if (n == 0)
        return 0;
    for ( ; *s != '\0'; s++) {
        if (!innum && isdigit(*s)) {
            innum = YES;
            count = 0;
        }
        if (innum && isdigit(*s))
            count++;
        if (innum && !isdigit(*s)) {
            if (count == n)
                break;
            innum = NO;
        }
    }
    if (innum && count == n)
        return 1;
    return 0;
}
вывод с разными n

Код
[guest@localhost ndignum]$ ./ndignum
  0:
                     - 0
                 abc - 0
                   1 - 0
                  11 - 0
                 111 - 0
                1abc - 0
             abc1abc - 0
             abcabc1 - 0
           111abcabc - 0
           abc111abc - 0
           abcabc111 - 0
          1ab11ab111 - 0
    abc1ab11ab111abc - 0
       abc1ab11ab111 - 0
  1:
                     - 0
                 abc - 0
                   1 - 1
                  11 - 0
                 111 - 0
                1abc - 1
             abc1abc - 1
             abcabc1 - 1
           111abcabc - 0
           abc111abc - 0
           abcabc111 - 0
          1ab11ab111 - 1
    abc1ab11ab111abc - 1
       abc1ab11ab111 - 1
  2:
                     - 0
                 abc - 0
                   1 - 0
                  11 - 1
                 111 - 0
                1abc - 0
             abc1abc - 0
             abcabc1 - 0
           111abcabc - 0
           abc111abc - 0
           abcabc111 - 0
          1ab11ab111 - 1
    abc1ab11ab111abc - 1
       abc1ab11ab111 - 1
  3:
                     - 0
                 abc - 0
                   1 - 0
                  11 - 0
                 111 - 1
                1abc - 0
             abc1abc - 0
             abcabc1 - 0
           111abcabc - 1
           abc111abc - 1
           abcabc111 - 1
          1ab11ab111 - 1
    abc1ab11ab111abc - 1
       abc1ab11ab111 - 1
  4:
                     - 0
                 abc - 0
                   1 - 0
                  11 - 0
                 111 - 0
                1abc - 0
             abc1abc - 0
             abcabc1 - 0
           111abcabc - 0
           abc111abc - 0
           abcabc111 - 0
          1ab11ab111 - 0
    abc1ab11ab111abc - 0
       abc1ab11ab111 - 0
  5:
                     - 0
                 abc - 0
                   1 - 0
                  11 - 0
                 111 - 0
                1abc - 0
             abc1abc - 0
             abcabc1 - 0
           111abcabc - 0
           abc111abc - 0
           abcabc111 - 0
          1ab11ab111 - 0
    abc1ab11ab111abc - 0
       abc1ab11ab111 - 0
  6:
                     - 0
                 abc - 0
                   1 - 0
                  11 - 0
                 111 - 0
                1abc - 0
             abc1abc - 0
             abcabc1 - 0
           111abcabc - 0
           abc111abc - 0
           abcabc111 - 0
          1ab11ab111 - 0
    abc1ab11ab111abc - 0
       abc1ab11ab111 - 0
  7:
                     - 0
                 abc - 0
                   1 - 0
                  11 - 0
                 111 - 0
                1abc - 0
             abc1abc - 0
             abcabc1 - 0
           111abcabc - 0
           abc111abc - 0
           abcabc111 - 0
          1ab11ab111 - 0
    abc1ab11ab111abc - 0
       abc1ab11ab111 - 0
  8:
                     - 0
                 abc - 0
                   1 - 0
                  11 - 0
                 111 - 0
                1abc - 0
             abc1abc - 0
             abcabc1 - 0
           111abcabc - 0
           abc111abc - 0
           abcabc111 - 0
          1ab11ab111 - 0
    abc1ab11ab111abc - 0
       abc1ab11ab111 - 0
  9:
                     - 0
                 abc - 0
                   1 - 0
                  11 - 0
                 111 - 0
                1abc - 0
             abc1abc - 0
             abcabc1 - 0
           111abcabc - 0
           abc111abc - 0
           abcabc111 - 0
          1ab11ab111 - 0
    abc1ab11ab111abc - 0
       abc1ab11ab111 - 0
 10:
                     - 0
                 abc - 0
                   1 - 0
                  11 - 0
                 111 - 0
                1abc - 0
             abc1abc - 0
             abcabc1 - 0
           111abcabc - 0
           abc111abc - 0
           abcabc111 - 0
          1ab11ab111 - 0
    abc1ab11ab111abc - 0
       abc1ab11ab111 - 0
[guest@localhost ndignum]$


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