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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
3adrot
0 / 0 / 0
Регистрация: 31.01.2010
Сообщений: 34
#1

Строка: В тексте посчитать знаки препинания и вывести их количество - C++

30.06.2012, 13:32. Просмотров 1312. Ответов 7
Метки нет (Все метки)

1) "Враг, что мудр и много знает, друга может быть ценней. Мудрость уважать пристало у врагов и у друзей."
В тексте посчитать знаки препинания и вывести их количество.

Требования:
1: подготовить текстовый файл с входными данными в редакторе.
2: выделить функции вода, обработки, вывода.
3:входные данные прочитать из файла:
4:вывести результаты на экран и дозаписать в файл.

2) исправить слово "интернет" на слово "ИНТЕРПОЛ", используя функции класса - string
p.s требования такие же как в первой задаче.

Очень надеюсь на вашу помощь=) заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2012, 13:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Строка: В тексте посчитать знаки препинания и вывести их количество (C++):

Посчитать количество знаков препинания в тексте и вывести их количество. - C++
Текст:"Враг, что мудр и много знает, друга может быть ценней. Мудрость уважать пристало у врагов и у друзей."

С клавиатуры вводится строка. Составить программу, которая подсчитывает количество знаков препинания в тексте; - C++
C++ С клавиатуры вводится строка. Составить программу, которая подсчитывает количество знаков препинания в тексте;выводит все слова,...

Проверить является ли строка палиндромом, учитывая пробелы и знаки препинания - C++
Задана строка, состоящая из символов. Символы объединяются в слова. Слова друг от друга отделяются одним или несколькими пробелами. В конце...

Создать символьный файл, содержащий все символы, встретившиеся в тексте, включая пробел и знаки препинания - C++
Дан текстовый файл. Создать символьный файл, содержащий все символы, встретившиеся в тексте, включая пробел и знаки препинания (без...

Задается произвольный текст. В тексте заменить все ТЧК, ЗПТ и другие сокращения на соответ-ствующие им знаки препинания - C++
Задается произвольный текст, содержащий не более 10 строк, в каждой строке не бо-лее 80 символов. В тексте заменить все ТЧК, ЗПТ и другие...

Дана строка до точки, группа символов в которой между пробелами считается словом, знаки препинания от слова пробелом не отделяются - C++
Дана строка до точки, группа символов в которой между пробелами считается словом, знаки препинания от слова пробелом не отделяются. вот...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
megagig
0 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 6
30.06.2012, 13:50 #2
David Sylva
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
30.06.2012, 14:13 #3
Не понятно условие. В 1) строке надо посчитать символы пунктуации?.
Потом записать эту строку в файл? Что значит выделить функции и какой обработки? Что до записать в файл? Что значит исправить, может быть заменить слово интернет на интерпол. Конкретизируй задачу.
3adrot
0 / 0 / 0
Регистрация: 31.01.2010
Сообщений: 34
30.06.2012, 14:22  [ТС] #4
в первой задаче нужно подсчитать сами символы, тоесть их кол-во в тексте, до этого нужно создать файл в котором будет содержаться сам текст в котором считаем знаки. все сделать нужно через функции всего их 3, ввод, обработка и вывод. затем полученные результаты(число символов) нужно записать в тот же файл где сам текст.
Dekio
Фрилансер
Эксперт С++
5837 / 1218 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
30.06.2012, 14:45 #5
C++
1
2
    std::string Str = "ÂðГ*ГЈ, Г·ГІГ® ìóäð ГЁ Г¬Г*îãî Г§Г*Г*ГҐГІ, äðóãГ* ìîæåò áûòü öåГ*Г*ГҐГ©. Ìóäðîñòü ГіГўГ*Г¦Г*ГІГј ïðèñòГ*ëî Гі ГўГ°Г*ãîâ ГЁ Гі äðóçåé.";
    std::cout<<std::count_if(Str.begin(), Str.end(), ispunct)<<std::endl;
rinat_w
89 / 85 / 4
Регистрация: 13.11.2011
Сообщений: 192
Завершенные тесты: 1
30.06.2012, 14:55 #6
Dekio, он же написал, нужно с тремя функциями и работать с файлами

3adrot,
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
#include<fstream>
#include<string>
using namespace std;
string fin(){
    ifstream fin("file.txt");
    char ch[256];
    fin.getline(ch, 256);
    string str;
    int i=0;
    while (ch[i]!='\0'){
          str=str+ch[i];
          i++;
    }
    fin.close();
    return str;
}
int count(string str){
    int count=0;
    for (int i=0; i<str.size(); i++)
        if (str[i]==',') count++;
    return count;
}
void fout(string str, int count){
     ofstream fout("file.txt");
     fout<<str<<"\n\nnumber of commas: "<<count;
     fout.close();
}
int main(){
    string str=fin();
    fout(str, count(str));
    return 0;
}
MrCold
854 / 752 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
30.06.2012, 15:05 #7
В файле записано "интернет"
Решение через ж... , но работает
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
#include <fstream>
#include <iostream>
#include <string>
using namespace std;
 
void to_Upper(char &sym)
{
    size_t i = 0;
   char* SMALL = "абвгдежзиклмнопрстуфхцчшщьыэюя";
   char* BIG   = "АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЬЫЭЮЯ";
   while(SMALL[i])
       {
           if(sym == SMALL[i]) sym = BIG[i];
           i++;
       }
}
 
int main()
{
    setlocale (LC_ALL, "Russian");
    string s;
    fstream file;
    size_t i = 0;
    file.open("file.txt",ios::out|ios::in);
    if(!file)
        return 1;
    
    file >> s;
    cout << s << endl;
    s.erase(5);
 
    for(;i < s.length();++i)
        if((s[i] >= 'а') && (s[i] <= 'я') )
            to_Upper(s[i]);
 
    file.clear();
 
    s += "ПОЛ";
 
    file << endl << s;
    cout << s;
 
    file.close();
    return 0;
}
Dekio
Фрилансер
Эксперт С++
5837 / 1218 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
01.07.2012, 11:57 #8
rinat_w, и что? Пусть переделает. Пример работы я показал
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.07.2012, 11:57
Привет! Вот еще темы с ответами:

Дана строка до точки, группа символов в которой между пробелами считается словом, знаки препинания от слова пробелом не отделяются - C++
Дано некоторое число. Вставить его перед каждым восклицательным знаком. все числовые данные вводятся с клавиатуры,и если можно с...

В строке заменить все знаки препинания на пробелы. Вывести результат - C++
помогите

Определить количество знаков препинания в тексте - C++
Дан текст. Определить, сколько символов знаков препинания в нем (точка, запятая, двоеточие, тире, и пр.).

Файл: Вывести на экран результаты 3 файлов, которые содержат отдельно каждый букви, цифры, и знаки препинания... - C++
Нужно создать файл с буквами, цифрами, и знаками препинания. Вывести на экран результаты 3 файлов, которые содержат отдельно каждий букви,...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
01.07.2012, 11:57
Ответ Создать тему
Опции темы

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