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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Проверить код на наличие ошибок http://www.cyberforum.ru/cpp-beginners/thread1632294.html
Добрый день, форумчане! Кто может проверить код на наличие ошибок ? Вариант задания 26 #include <iostream> #include <cmath> #include <cstdlib> using namespace std; int main() { int i, k = 0, j = 1; double q, z, x = -3;
C++ В одномерном целочисленном массиве поменять местами последний элемент с первым нулевым элементом Ввести в память машины одномерный целочисленный массив, размерностью не более 50 элементов. 1)Поменять местами последний элемент с первым нулевым элементом. 2)Упорядочить массив таким образом, чтобы в начале шли отрицательные элементы, затем нулевые, затем положительные. Вывести на экран исходный массив и данные, полученные согласно заданию в варианте. Ввод массива, манипуляции с массивом,... http://www.cyberforum.ru/cpp-beginners/thread1632292.html
Задача на поиск совпадений букв первого слова во втором C++
Ребят, решите пожалуйста задачу: Даны два слова. Для каждой буквы первого слова (в том числе для повторяющихся в этом слове букв) определить, входит ли она во второе слово. Например, если заданные слова информация и процессор, то для букв первого из них ответом должно быть: нет нет нет да да нет нет да нет нет Заранее спасибо:)
C++ Определить наибольшее число в массиве
Есть задание , написать программу которая определяет наибольшее число в массиве , и количество его вхождений (на случай если будет два раза одно и тоже число , и оно же и наибольшее) Вот код : #include<iostream> #include<cstdlib> using namespace std; int main() { cout<<"8 laba\n"<<endl; int N;
C++ Список слов из закодированого файла http://www.cyberforum.ru/cpp-beginners/thread1632224.html
Простое задание, но не для меня :( Есть несколько файлов с кодировкой UTF8, программа должна создать новый файл и сохранить в него список всех слов. Файлы на английском, русском и латышском языке. Помогите пожалуйста! Заранее спасибо.
C++ Циклическое нахождение факториала Здравствуйте. Дело в том, что почему то значение факториала складывается со значением предыдущего факториала. В чем ошибка? #include <iostream> using namespace std; int main() { setlocale(LC_ALL,"RUS"); unsigned int numb; unsigned long fact = 1; // тип long для результата do подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
 Аватар для Mr.X
3021 / 1677 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
07.01.2016, 21:57     Разбить текст на страницы
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
/*
Дан текстовый файл. Преобразовать его, разбив текст на страницы и пронумеровав их,
причем номер нечетной страницы должен размещаться в правом нижнем углу, а номер четной
страницы - в ее левом нижнем углу. Число стока странице задается, а ширина страницы
определяется самой длинной строкой в данной странице. Конец страницы отмечается символом
с кодом 12, который помещается в отдельной строке.
*/
///////////////////////////////////////////////////////////////////////////////
#include <algorithm>
#include <fstream>
#include <iostream>
#include <iterator>
#include <string>
#include <vector>
///////////////////////////////////////////////////////////////////////////////
typedef std::string                     T_str;
typedef T_str                           T_line;
typedef std::vector     < T_line    >   T_lines;
///////////////////////////////////////////////////////////////////////////////
class  T_page
{
    //-------------------------------------------------------------------------
    static  const   char    END_PAGE_SYMB   =   12;
    T_lines                 lines_;
    //-------------------------------------------------------------------------
public:
    //-------------------------------------------------------------------------
    static  int             lines_per_page_;
    static  int             page_counter_;
    //-------------------------------------------------------------------------
    friend
    std::istream    &   operator>>
        (
            std::istream    &   istr,
            T_page          &   page
        )
    {
        page.lines_.clear();
        size_t  max_line_size{};
        T_line  cur_line;
 
        for (
                int  i{};
 
                    i   <   lines_per_page_
                &&  getline( istr, cur_line );
 
                ++i
            )
        {
            max_line_size  =   std::max     (
                                                max_line_size,
                                                cur_line.size()
                                            );
 
            page.lines_.push_back( cur_line );
        }//for
 
        auto    page_num_line   =   std::to_string( ++page_counter_ );
 
        if( page_counter_ % 2 == 1 )
        {
            page_num_line   =       T_line  (
                                                    max_line_size
                                                -   page_num_line.size(),
 
                                                ' '
                                            )
 
                                +   page_num_line;
        }
 
        page.lines_.push_back( page_num_line );
 
        page.lines_.push_back
            (
                T_str   (
                            1,
                            END_PAGE_SYMB
                        )
            );
 
        return  istr;
    }
    //-------------------------------------------------------------------------
    friend
    std::ostream    &   operator<<
        (
            std::ostream            &   ostr,
            T_page          const   &   page
        )
    {
        std::copy
            (
                page.lines_.begin                   (),
                page.lines_.end                     (),
                std::ostream_iterator< T_line >     ( ostr, "\n" )
            );
 
        return  ostr;
    }
    //-------------------------------------------------------------------------
};
///////////////////////////////////////////////////////////////////////////////
int     T_page::lines_per_page_;
int     T_page::page_counter_;
///////////////////////////////////////////////////////////////////////////////
void    print_formatted_text_from_stream_to_stream_with_lines_per_page
    (
        std::istream    &   istr,
        std::ostream    &   ostr,
        int                 lines_per_page
    )
{
    T_page::lines_per_page_     =   lines_per_page;
    T_page::page_counter_       =   0;
 
    std::copy
        (
            std::istream_iterator< T_page >     ( istr  ),
            std::istream_iterator< T_page >     (),
            std::ostream_iterator< T_page >     ( ostr  )
        );
}
///////////////////////////////////////////////////////////////////////////////
int     main()
{
    T_str   const   IFILE_NAME          =   "i.txt";
    T_str   const   OFILE_NAME          =   "o.txt";
 
    std::ifstream   ifile( IFILE_NAME   );
    std::ofstream   ofile( OFILE_NAME   );
 
    if( ifile )
    {
        print_formatted_text_from_stream_to_stream_with_lines_per_page
            (
                ifile,
                ofile,
                3
            );
 
        std::cout   <<  "File is filled."
                    <<  std::endl;
    }
    else
    {
        std::cout   <<  "Error!"
                    <<  std::endl;
    }//else
 
    system("pause");
}
 
Текущее время: 08:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru