0 / 0 / 0
Регистрация: 19.06.2016
Сообщений: 2
1

Во введенном тексте подсчитать количество цифр

19.06.2016, 16:08. Показов 2384. Ответов 3
Метки нет (Все метки)

Задание звучит так - "Ввести с клавиатуры несколько строк, состоящих из латинских букв,
цифр и знаков препинания, признаком конца ввода считать строку, состоящую из слова «last».
Во введенном тексте подсчитать количество цифр.
Вывести текст на экран и отформатировать:
Каждая последующая строка должна содержать на одно слово больше: в
первой строке вывести одно слово, во второй – два и т.д."

После ввода строки и нажатия "Enter" прога мгновенно закрывается, не выдавая никакого результата.

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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#include <stdio.h>
#include <ctime>
#include <Windows.h>
#include <clocale>
#include <string>
#include <vector>
#include <iostream>
using namespace std;
 
 
int main(int argc, CHAR* argv[])
{
    vector<string> a; //массив из строк
    string test;
    int amount = 0; //Колво цифр
    int space = 0; // количество пробелов
    int required_space = 1; //колчество пробелов нужное для переноса
    string fat; // строка в которую запихиваем все сроки через пробел
 
 
    cout << "Input strokis:" << endl;
    getline(cin, test); //считать строку с клавы
    a.push_back(test);  //Добавить строку в массив
    while (test == "last")
    { 
        getline(cin, test);
        a.push_back(test);
    }
    a.pop_back(); //Удалить строку last из массива
 
 
    for (int i = 0; i< a.size(); i++)
    { 
        for (int j = 0; j < a[i].length(); j++)
        {
            if (isdigit(a[i][j])) //Если обрабатываемый символ - цифра, amount++
                amount++;
        }
 
    }
    
    cout << "Tam koroche " << amount << " cifr" << endl;
 
    cout << endl << "Ishodniy massiv:";
 
    for (int i = 0; i < a.size(); i++)
    {
        cout << endl << a[i];
    }
    cout << endl << endl << "Result:" << endl;
    /*
     Из n-ной строки выводи n слов
    */
 
    for (int i = 0; i <  a.size();i++)
    {
    int spaces_amount = 0;
    cout << endl;
    for (int j=0;j<a[i].length();j++)
    {
    cout << a[i][j];
    if (a[i][j]==' ')
    {
    while(a[i][j]==' ')
    j++;
     spaces_amount++;
    if(spaces_amount == i + 1)
    break;
    }
    }
    }
 
 
 
    for (int i = 0; i < a.size(); i++)
    {
        fat.append(a[i]);
        fat.append(" "); 
    }
 
 
 
    for (int i = 0; i< fat.length(); i++) 
    {
        if (fat[i] == ' ') 
        {
            while(fat[i]==' ')i++;
            space++;
            cout << " ";
            if (space == required_space)
            {
                cout << "\n";
                space = 0;
                required_space++;
                i++;
 
            }
        }
        cout << fat[i];
    }
 
 
 
    cout << endl;
    system("payse");
    return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.06.2016, 16:08
Ответы с готовыми решениями:

Подсчитать количество строк в введенном тексте
не могу понять почему VS 2010 вылетает.. хочу подсчитать количество строк в введенном тексте. и еще...

Подсчитать количество предложений во введенном тексте
Здравствуйте. Задача стоит такая: &quot;Подсчитать количество предложений во введенном тексте&quot;....

Подсчитать количество предложений во введенном тексте
Здравствуйте! Необходимо составить программу, которая сможет подсчитать количество предложений во...

Подсчитать количество слов во введенном тексте
Подсчитать количество слов во введенном тексте. Обрабатываемый текст программа считывает из файла.

3
1404 / 567 / 127
Регистрация: 31.10.2011
Сообщений: 1,956
19.06.2016, 16:39 2
Цитата Сообщение от Hitaatmaa Посмотреть сообщение
прога мгновенно закрывается
нужно
C++
1
system("pause");
Добавлено через 9 минут
и еще замени на
C++
1
2
3
4
5
6
7
8
9
cout << "Input strokis:" << endl;
    //getline(cin, test); //считать строку с клавы
    //a.push_back(test);  //Добавить строку в массив
    while (test != "last")
    {
        getline(cin, test);
        a.push_back(test);
    }
    a.pop_back(); //Удалить строку last из массива
0
0 / 0 / 0
Регистрация: 19.06.2016
Сообщений: 2
19.06.2016, 20:34  [ТС] 3
Исправление привело к созданию этой ошибки -
Миниатюры
Во введенном тексте подсчитать количество цифр  
0
1404 / 567 / 127
Регистрация: 31.10.2011
Сообщений: 1,956
20.06.2016, 00:11 4
Цитата Сообщение от Hitaatmaa Посмотреть сообщение
Исправление привело к созданию этой ошибки
Если у тебя VC, то вопрос не ко мне.
У меня это работает (Builder XE7), без исправления всегда было бы 0 цифр, что не странно.
Эту программку можно написать и по-проще, но для какой-нибудь лабы и так сойдет,
главное понимать, что где происходит
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.06.2016, 00:11
Помогаю со студенческими работами здесь

Как подсчитать количество слов в конкретном тексте, а не во введенном с клавиатуры
Уважаемые, помогите пожалуйста... у меня никак не получается написать программу для подсчета слов в...

Подсчитать количество четных и нечетных цифр во введенном числе в процентном отношении (do while)
Здравствуйте, помогите пожалуйста написать две программы. Остальные сделал а эти никак не могу :( ...

Подсчитать количество цифр в заданном тексте
Дан текст произвольной длины, оканчивающийся точкой с запятой. Подсчитать количество цифр в тексте....

Подсчитать количество встретившихся в тексте цифр
Подсчитать количество встретившихся в тексте цифр


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru