Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/29: Рейтинг темы: голосов - 29, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 09.04.2015
Сообщений: 4

Написать программу, которая считывает текст из файла и определяет количество абзацев в нем

09.04.2015, 21:18. Показов 6369. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
помогите неопытному
нужно написать программу, которая считывает текст из файла и определяет количество абзацев в нем.
Полученные данные дописать в файл.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.04.2015, 21:18
Ответы с готовыми решениями:

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

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

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

15
 Аватар для Nishen
1359 / 857 / 366
Регистрация: 26.02.2015
Сообщений: 3,824
09.04.2015, 21:43
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <fstream>
#include <iostream>
using namespace std;
 
int main(){
    setlocale(LC_ALL, "Russian");
    char ch = 'a';
    int number = 1;
    fstream file("test.txt");
    file.seekg(0);
    while(file){
        file.get(ch);
        if(ch == '\n')
            number++;
    }
    cout << "Количество абзацев: " << number << endl;
    system("PAUSE");
    return 0;
}
0
 Аватар для saden
184 / 168 / 53
Регистрация: 27.01.2013
Сообщений: 788
09.04.2015, 21:47
символ абзаца #13
считай их
0
09.04.2015, 21:49

Не по теме:

Цитата Сообщение от saden Посмотреть сообщение
символ абзаца #13
считай их
Я не знал, спасибо! :)

0
09.04.2015, 21:51

Не по теме:

Nishen, на самом деле есть #10 и #13 (в гекс)

0
0 / 0 / 0
Регистрация: 09.04.2015
Сообщений: 4
09.04.2015, 21:55  [ТС]
нужно использовать функции чтения из файла и записи в файл и что означают строки?:
C++
1
2
      if(ch == '\n')
            number++;
0
 Аватар для saden
184 / 168 / 53
Регистрация: 27.01.2013
Сообщений: 788
09.04.2015, 21:56
" определяет количество абзацев в нем"
0
 Аватар для Nishen
1359 / 857 / 366
Регистрация: 26.02.2015
Сообщений: 3,824
09.04.2015, 22:01
C++
1
2
3
4
5
    while(file){
        file.get(ch);
        if(ch == '\x0A' || ch == '\x0D')
            number++;
    }
Я и так читаю из файла данные с помощью
C++
1
file.get(ch);
А запись в файл можно сделать так, например:
C++
1
2
file.seekg(0, ios::end);
file << number;
0
24 / 24 / 11
Регистрация: 09.04.2015
Сообщений: 80
09.04.2015, 22:02
А в конце последнего абзаца \n то может не стоять, если не ошибаюсь. И наоборот, может стоять \n, а за ним пустая строка. Считать ли это абзацем?
0
 Аватар для Nishen
1359 / 857 / 366
Регистрация: 26.02.2015
Сообщений: 3,824
09.04.2015, 22:10
Цитата Сообщение от np2001 Посмотреть сообщение
А в конце последнего абзаца \n
Так я считаю по тем символам абзаца, что идут до начала нового абзаца.
Цитата Сообщение от np2001 Посмотреть сообщение
может стоять \n, а за ним пустая строка.
Но ведь Enter нажат и новый абзац начат.
0
24 / 24 / 11
Регистрация: 09.04.2015
Сообщений: 80
09.04.2015, 22:17
Цитата Сообщение от Nishen Посмотреть сообщение
Так я считаю по тем символам абзаца, что идут до начала нового абзаца.

Но ведь Enter нажат и новый абзац начат.
Ну вот например такой текст "Первый абзац\nВторой абзац" - абзацев вроде как два, но \n всего один. Если после \n пустая строка будет, тогда вроде как правильно получается. Или я уже подзабыл значение слова "Абзац"?
0
 Аватар для Nishen
1359 / 857 / 366
Регистрация: 26.02.2015
Сообщений: 3,824
09.04.2015, 22:19
Цитата Сообщение от Nishen Посмотреть сообщение
int number = 1;
Я учел первый абзац.
0
24 / 24 / 11
Регистрация: 09.04.2015
Сообщений: 80
09.04.2015, 22:34
Цитата Сообщение от Nishen Посмотреть сообщение
Я учел первый абзац.
Да, действительно я не обратил внимание... Ну если пустая строка тоже считается за абзац, тогда все верно.
0
 Аватар для Nishen
1359 / 857 / 366
Регистрация: 26.02.2015
Сообщений: 3,824
10.04.2015, 05:36
np2001, доработать ее нужно. Есть мелкие недочеты в ней, например, если файл будет пустой, то у нас получится один абзац, хотя их вообще нет.
0
 Аватар для Nishen
1359 / 857 / 366
Регистрация: 26.02.2015
Сообщений: 3,824
11.04.2015, 10:17
Может быть не актуально, но начатое нужно доводить до конца. Вот конечный результат программы:
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
#include <fstream>
#include <iostream>
using namespace std;
 
int main(){
    setlocale(LC_ALL, "Russian");
    //Переменная ch предназначена для хранения считанного символа
    //Переменная number предназначена для хранения числа абзацев
    //Переменаня position предназначена для хранения значения текущей позиции
    char ch;
    int number = 0, position = 1;
    //Открытие файла для чтения
    fstream file("test.txt");
    //Устанавливаем указатель на последний символ
    file.seekg(0, ios::end);
    //Проверяем, в какой позиции стоит указатель
    position = file.tellg();
    //Если указатель указывает на 0 позицию
    if(position == 0){
        //Значит файл пустой и абзацев нет
        cout << "Количество абзацев: " << number << endl;
        //Выходим из программы
        system("PAUSE"); exit(1);
    }
    //Иначе абзацы есть. Учитываем первый абзац
    number++;
    //Устанавливаем указатель в начало файла
    file.seekg(0, ios::beg);
    //Читаем файл до EOF
    while(file){
        //Извлекаем очередной символ
        file.get(ch);
        //Если очередной символ - символ абзаца
        if(ch == '\x0A' || ch == '\x0D'){
            //Увеличиваем число абзаца
            number++;
        }
    }
    //Устанавливаем указатель на конец файла
    file.seekg(0, ios::end);
    //Читаем последний символ
    file.get(ch);
    //Если последний символ - символ абзаца
    if(ch == '\x0A' || ch == '\x0D'){
        //Вычитаем из числа абзацев 2 абзаца. Один - пустая строка,
        //следующая за символом абзааца, второй - из-за while(file).
        //Данный цикл ПОЧЕМУ-ТО считывает последний символ дважды.
        number -= 2;
    }
    //Выводим результат на экран
    cout << "Количество абзацев: " << number << endl;
    system("PAUSE");
    return 0;
}
Добавлено через 1 минуту
И все равно недочет есть. Если просто ввести знак абзаца, то считает количество абзацев, как 1.
0
0 / 0 / 0
Регистрация: 01.07.2019
Сообщений: 7
01.07.2019, 18:22
Nishen,
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.07.2019, 18:22
Помогаю со студенческими работами здесь

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

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

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

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

Написать программу, которая считывает текст из файла
Сост. блок схему,если не трудно сделайте скрин схемы)))))заранее огромное спасибо))))!!! Написать программу, которая считывает текст из...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru