Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
ReginaMur
0 / 0 / 0
Регистрация: 02.04.2015
Сообщений: 28
#1

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

07.12.2015, 20:52. Просмотров 705. Ответов 3
Метки нет (Все метки)

Написать программу, которая считывает текст из файла и выводит на экран только предложения, состоящие из заданного количества слов.
пожалуйста помогите...
мы изучаем программирование поверхностно, поэтому многие операции не знакомы. чем проще тем лучше
вот мои наброски
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <fstream.h>
#include <string.h>
#include <iostream.h>
#include <stdio.h>
 
int main()
{
int number, schetchik=0, predlogeniya, string, word;
 
ifstream fin("fail.txt", ios::in|ios::nocreate);
if(fin!)
{
cout<<"Oshibka otkritiya faila."<<endl;
return 1;
}
cout <<"Vvedite kolichestvo slov: ";
cin>>number;

http://www.cyberforum.ru/cpp-beginners/thread522317.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2015, 20:52
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Считать текст из файла и вывести только предложения, состоящие из заданного количества слов (C++):

Строка: Вывести на экран только предложения, состоящие из заданного количества слов.
Написать программу, которая считывает текст из файла и выводит на экран только...

Вывести на экран из текста только предложения, состоящие из заданного количества слов
Помогите решить задачку: Вывести на экран из текста только предложения,...

Записать из одного текстового файла в другой только предложения, состоящие из заданного количества слов
Здравствуйте. Не могу понять в чем ошибка и правильно ли я вообще выполняю...

Написать программу, которая считывает текст из файла и выводит на экран только предложения, состоящие из заданного колличества слов
Задание выглядит следующим образом: &quot;Написать программу, которая считывает...

Задача на тему "Строки" (вывести на экран только предложения, состоящие из заданного количества слов)
написать программу, которая считывает текст из файла и вывыдит на экран...

3
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
7004 / 3297 / 448
Регистрация: 04.12.2011
Сообщений: 9,122
Записей в блоге: 5
08.12.2015, 04:16 #2
ReginaMur, осталось ещё немного.
То что я написал "канает за отмазку" и не более) Дело в том, что боевая программа с таким заданием, это долго. Предложения могут заканчиваться ?! !!! ...
И внутри могут содержать многоточия и одноточия после сокращений (например i.e. я заменил на ie)). Предложения могут начинаться с цифр, кавычек и... да ну его.
Только хорошее написание тех-задания это уже приличная задачка.
То есть упрощённо:
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
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
using namespace std;
 
int getCountOfWords(const string & str)
{
int cnt=0;
for(int i=0; i<str.size(); i++)
{
if(
   str[i]==' '||//пробелы   
   str[i]=='.'||//окончания строк
   str[i]=='!'||//--
   str[i]=='?'//--
   )
cnt++;
}
return cnt;
}
 
int main()
{
const char* black_line="\n___________________\n";
const char* out_cstring = "String class. \
Strings are objects! That represent sequences of characters. \
The standard string class? \
Provides support. \
For such objects with an interface. \
Similar to that of a standard. \
Container of bytes, but! \
Adding features specifically. \
Designed. \
To operate. \
With. \
Strings of single-byte. \
Characters. \
The string. \
Class! \
Is an instantiation of! \
The basic_string class? \
Template that uses char. \
Continue (ie, bytes) as its character type. \
With its default char_traits. \
And allocator. \
Types (see basic_string for more info on the template). \
Note that this class handles. \
Bytes independently of the encoding. \
Used: If used to handle sequences. \
Of multi-byte or variable-length. \
Characters (such as UTF-8), all members. \
Of this class (such as length or size). \
As well as its iterators, will still. \
Operate in terms of bytes (not actual encoded characters).";
cout<<"out_cstring:"<<black_line<<out_cstring;
cout<<black_line;
std::string f = "bla-bla-bla!";
const char* filename = f.c_str();
 
ofstream out_file(filename, ios::out);
int i=0;
while(out_cstring[i])out_file<<out_cstring[i++];
out_file.close();
cout<<"file content:"<<black_line;
ifstream in_file(filename, ios::in);
string all_text="";
getline(in_file,all_text);
cout<<all_text<<endl<<black_line;
vector<string>strings;
string line_str="";
for(size_t i=0; i<all_text.size(); ++i)
{
    line_str+=all_text[i];
if(all_text[i]=='.' || all_text[i]=='!' || all_text[i]=='?')
{
if(line_str.size()>1)
{
strings.push_back(line_str);
line_str="";
++i;
}
}
}
cout<<"The string from file:"<<black_line;
cout<<all_text<<endl<<black_line;
cout<<"The lines from string:"<<black_line;
for(size_t i=0; i<strings.size(); ++i)
cout<<strings[i]<<endl;
cout << endl;
cout<<black_line;
int word_per_line=1;
cout<<"How many words do you wish to have per line? ";
cin>>word_per_line;
cout<<black_line;
for(size_t i=0; i<strings.size(); ++i)
{
if(word_per_line==getCountOfWords(strings[i]))cout<<strings[i]<<endl;
}
cout<<black_line;
    system("pause");
    return 0;
}
Характер упрощений виден из кода.
0
ReginaMur
0 / 0 / 0
Регистрация: 02.04.2015
Сообщений: 28
08.12.2015, 17:18  [ТС] #3
и это упрощенная программа?
спасибо, но это уж очень сложно...
0
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
7004 / 3297 / 448
Регистрация: 04.12.2011
Сообщений: 9,122
Записей в блоге: 5
08.12.2015, 20:05 #4
Цитата Сообщение от ReginaMur Посмотреть сообщение
но это уж очень сложно...
Ах... Ну что Вы знаете про "сложно" и про "очень", мадемуазель?
Смотрите:
строки 1-5 объявления библиотек и пространства имен std
строки 7-21 - функция обмена (свопинга) с подсчетом количества своп транзакций (задано условием) она растянуто по вертикали написана
строки 25-57 - создание строки для сохранения в файле (файлы с текстом на деревьях не растут))
строки 58-64 - создание файла и сохранение туда текста
строки 65-69 - открытие файла и считывание в строку
строки 70-89 - разбиение строки на предложения и заполнение ими вектора
строки 93-99 - запрос количества слов в предложениях к выводу и отбор и вывод соответствующих предложений
Задача - собственно, в последних 6-ти строчках, а остальное её подготовка.
Несмотря на то, что я поддёрнул Ваш пост вверх, никто не загорелся желанием. Думаю, это потому, что задача не свободна от ряда громоздких деталей. Впрочем, остаётся либо подождать более компактного кода, а это обычно - чем компактнее тем непонятнее, либо создать файл по имени "Sim-Sim" и вызвать:
C++
1
Otkroysia("Sim-Sim");
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2015, 20:05
Привет! Вот еще темы с решениями:

Вывести предложения состоящие из заданного количества слов
Выполнить задание используя функции библиотеки для работы со строками и...

Вывести на экран предложения, состоящие из заданного количества слов
написать программу, которая считывает текст из файла и выводит на экран только...

Потоки.Программа выводит на экран только предложения, состоящие из заданного количества слов. Нужно дополнить прогу
вот что нужно написать, чтобы выводило правильно. везде (в интернете) очень...

Предложения, состоящие из заданного количества слов, упорядоченных по алфавиту
5. *выводит предложения, состоящие из заданного количества слов, упорядоченных...


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

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

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