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

Разбить текст на абзацы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Модифицированный алгоритм Евклида для вычисления НОД http://www.cyberforum.ru/cpp-beginners/thread1303495.html
Модифицированный алгоритм Евклида для вычисления наибольшего общего делителя двух натуральных чисел, формулируется так: нужно заменять большее число на остаток от деления большего на меньшее до тех пор, пока остаток не станет равно нулю; тогда второе число и есть НОД. Напишите программу, которая реализует этот алгоритм. Входные данные Входная строка содержит два числа, разделённые пробелом –...
C++ Как найти минимальный и максимальный элемент последовательности, вводимой с клавиатуры? Как найти минимальный и максимальный элемент последовательности (последовательность вводим с клавиатуры) заканчивающейся 0. Вывести должно минимальный(не считая 0) и максимальный элемент. Например входные данные 1 2 3 0 выходные данные 1 3 http://www.cyberforum.ru/cpp-beginners/thread1303485.html
Процент гласных в предложении C++
В программе нужно ввести предложение окончание предложения точка. После этого нужно вычисллить общее кол-во гласных и потом найти процент использования каждой из них. Результат вывести в обратном порядке. Написал компилируется без ошибок, но при выполнении что-то с памятью ну позырьте умные человеки, а то я замучался уже( int main(void) { using namespace std; ...
C++ Каждое предложение в тексте сделать с заглавной буквы
Есть текст , в котором стоят запятые , знаки пунктуации и пробелы ( со стандартного ввода ) Требуется : после "." , "!" , "?" поставить большую букву. Если между словом и знаком есть проблем , нужно его убрать и наоборот , где между словом и знаком нет пробела , вставить его.
C++ Указать количество элементов массива с наибольшим значением http://www.cyberforum.ru/cpp-beginners/thread1303460.html
Дан массив MxN. За один просмотр массива указать количество элементов с наибольшим значением. Помогите пожалуйста с написанием программы. Буду благодарен за любое содействие!
C++ Опять непонятки с for_each Недавно создавал тему на проблему реализации for_each.Теперь для моей программы нужно добавить еще одну функцию:• Вывод на экран студентов, указанной группы.Как это реализовать с помощью for_each не понимаю.Помогите пожалуйста , и подкиньте книжки какие-нибудь стоящие по STL. #include "stdafx.h" #include<iostream> #include<vector> #include<string> #include <iterator> #include... подробнее

Показать сообщение отдельно
Михаил Мамаев
1 / 1 / 0
Регистрация: 28.10.2014
Сообщений: 34

Разбить текст на абзацы - C++

17.11.2014, 22:03. Просмотров 497. Ответов 6
Метки (Все метки)

Всем добрый вечер. Помогите, пожалуйста, с программой на С++ в VS2013.
В общем, задан текст. Предложения текста идут подряд. Преобразовать текст так, чтобы каждое предложение составляло отдельный абзац, начинающийся с красной строки в три пробела.
В общем-то, программа почти готова, код присутствует (спасибо одному уважаемому человеку с этого форума). Но хотелось бы переделать таким образом, чтоб компилятор сам предлагал юзеру вводить свой текст, который потом в соответствиис с условием выводится в отредактированном виде. Как это возможно осуществить? Заранее спасибо за помощь.

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
#include <iostream>                 //подключение библиотеки  <iostream>
#include <stdio.h>                    //подключение библиотеки  <stdio.h>
#include <stdlib.h>                   //подключение библиотеки  <stdlib.h>
#include <string>                     //подключение библиотеки  <string>
#include <sstream>                  //подключение библиотеки  <sstream>  
#include <conio.h>                   //подключение библиотеки  <conio.h> 
#include <ctype.h>                   //подключение библиотеки  <ctype.h> 
 
using namespace std;                //обеспечим доступ к именам из std без префикса std
 
int main()                              //определение функции с именем main()
{
    setlocale(LC_CTYPE, "Russian");   //создание русскоязычного интерфейса программы
 
    string text = "Здесь напечатан произвольный текст. В соответствии с заданием его необходимо отредактировать. Каждая строчка должна начинаться как новый абзац.";  //вводимый текст
                      
    cout << text;                    //вывод на экран заданного текста
    cout << "\n\n\n\n\n";        //сделать пробел длиной в 5 строк
 
    int len = text.length();    
    string a = "   ";
    string b = a;
 
    int i = -1;                           //присваиваем переменной i значение -1
    while (++i < len)               //начало цикла
    {
        b += text[i];           //копируем символ в новую строку
        if (text[i] == '.')     //если дошли до точки
        {
            b += "\n";   //вставляем перевод строки
            b += a;     //вставляем табуляцию
 
            if (i + 1 < len && text[i + 1] == ' ')    //игнорируем пробел после точки, если он там есть
            {
                ++i;
            }
        }
    }
 
    cout << b;                   //вывод на экран отредактированного текста, в соответствии с заданием
    system("pause");         //команда о выводе командной строки
    return 0;                   //возвращающее значение
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru