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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Построить в динамической памяти линейный связанный список вещественного типа http://www.cyberforum.ru/cpp-beginners/thread701868.html
Всем привет! имеются 3 задачи на С++, надо срочно все написать и сдать. если есть чуток времени, очень прошу, помогите! заранее спасибо. п.с.: сижу с книжкой по си и пытаюсь разобраться, пока слабо получается. ЗАДАЧА 1. дана структура: struct студент= ФИО: char ; оценка1: int;
C++ Указатели на производные классы Подскажите, как создать массив типа "указатель на базовый класс", который будет содержать указатель указатели на производные классы. http://www.cyberforum.ru/cpp-beginners/thread701854.html
C++ Функция базового класса
Как вызвать функцию базового класса для объекта производного класса, если в производном классе эта функция была замещена?
C++ Написать программу расчета ежемесячных платежей по кредиту
Доброй ночи) Помогите понять условие задачи Написать программу расчета ежемесячных платежей по кредиту. Исходными данными должны быть сумма кредита, срок кредита в месяцах, процентная ставка годовых. Программа должна печатать ежемесячную сумму погашения тела кредита, сумму процентов за пользованием кредита. В конце программа должна выводить общую сумму переплаты. Пример работы: Введите...
C++ Ошибка, смысл которой не могу расшифровать http://www.cyberforum.ru/cpp-beginners/thread701823.html
Первый раз в жизни делаю свой собственный класс (лабораторка по С++) Задача создать направленный список и реализовать определенные функции я пока не написал реализацию, а только пообъявлял все и создал cpp-шник где буду все реализовывать, а так же еще один cpp-шник с пустой (пока что) функцией main вот код объявления класса (class_list.h) #include <fstream> #include <string> class List...
C++ При делении округляет Объясните мне, пожалуйста, такой казус: double e=0,k=2; e=352*k+1; e/=25; cout<<e<<endl; На экран выдает: 28,2 А когда пишу: подробнее

Показать сообщение отдельно
Пaтрик
415 / 390 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
19.11.2012, 10:00
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
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <algorithm>
#include <iterator>
#include <sstream>
#include <iomanip>
#include <exception>
 
void func(std::vector<std::string>& lines, std::size_t size = 80)
{
    std::vector<std::string>::size_type count = lines.size();
    std::vector<std::string>::size_type i;
    for (i = 0; i < count; i++)
    {
        if (lines[i].size() > size)
            throw std::runtime_error("All lines in array must be less than size");
        std::istringstream stream(lines[i]);
        std::vector<std::string> words(
            (std::istream_iterator<std::string>(stream)),
            (std::istream_iterator<std::string>()));
        std::size_t total_size = 0;
        for (int i = 0; i < words.size(); i++)
            total_size += words[i].size();
        std::streamsize field_size = (size - total_size) / (words.size() - 1);
        std::ostringstream ostream;
        for (int i = 0; i < words.size() - 1; i++)
            ostream << words[i] << std::string(field_size, ' ');
        if (words.size() > 0)
            ostream << words[words.size() - 1] << std::string((size - total_size) - ((words.size() - 1) * field_size), ' ');
        lines[i] = ostream.str();
    }
}
 
int main()
{
    // Поставил 78 потому что длина командной строки 
    // Windows 80, и дальше не будет видно 
    // что в итоге вышло.
    // Заменишь на свои 80
    // и переделаешь под файлы
    std::vector<std::string> lines;
    lines.push_back("Established in 2002, MyLondonHome are multi award-");
    lines.push_back("winning central London estate and letting agents offering a ");
    lines.push_back("refreshing approach to real estate in central London. Whether ");
    func(lines, 78);
    for (int i = 0; i < lines.size(); i++)
        std::cout << lines[i] << '|' << std::endl;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru