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

Разбивка на лексемы и состовление из лексем строк - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Visual Studio - ошибка в функции scanf http://www.cyberforum.ru/cpp-beginners/thread560203.html
Задумал решить задачку.Вася не любит английский язык, но каждый раз старается получить хотя бы четверку за четверть, чтобы оставаться ударником. В текущей четверти Вася заметил следующую закономерность: по нечетным дням месяца он получал тройки, а по четным – четверки. Так же он помнит, в какие дни он получал эти оценки. Поэтому он выписал на бумажке все эти дни для того, чтобы оценить, сколько у...
C++ Перевести символ верхнего регистра в нижний и наоборот Подскажите, что не так: нужно введенную строку преобразовать так: символы верхнего регистра в символы нижнего регистра, и наоборот, а цифры(десятичные знаки) не печатать, строка читается до символа @. #include "stdafx.h" #include <iostream> #include <cctype> using namespace std; int main() { setlocale(LC_ALL, "Russian"); http://www.cyberforum.ru/cpp-beginners/thread560202.html
Матрицы: найти максимальную сумму элементов строк матрицы C++
Лабораторная работа № 7 Функции Цель работы: изучение правил составления и использования функций в программах на С++. Пример Задание. Найти максимальную сумму элементов строк матрицы 3×5 с использованием функций. Пример программы: #include <stdio.h> const int m=3, n=5;
C++ прошу помощи, не могу найти ошибку
#include<iostream> #include<conio.h> #include<stdlib.h> #include<stdio.h> #include<time.h> using namespace std; void draw_line(int n,char ch); void board(); void gamescore(char name1,char name2,int p1, int p2); void play_dice(int &score);
C++ Рекурсивные деревья http://www.cyberforum.ru/cpp-beginners/thread560172.html
День добрый. Очень нужна помощь в решении задачи: Найти все поддеревья, структура которых совпадает с заданной. Ввод/Создание/Вывод/...дерева написать труда не составило. С рекурсией и прочим тоже никаких вопросов. А вот с основным заданием возникла проблема. Как я понимаю, нужно сравнивать количество сыновей введённой структуры и исходного дерева, перемещаясь сверху-вниз по...
C++ Нужна программа которая считает угол между двумя заданными векторами (по координатам) Помогите. Нужна программа которая считает угол между двумя заданными векторами (по координатам) подробнее

Показать сообщение отдельно
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
722 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
28.04.2012, 14:11     Разбивка на лексемы и состовление из лексем строк
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
#include <iostream>
#include <algorithm>
#include <fstream>
 
using namespace std;
 
namespace
{
    const int MAXLENGTH = 50;
}
 
////////////////////////////////////////////
 
int main()
{
    ifstream ifs("test.txt", std::ios::in);
 
    string buf; //текущая считанная строка
    string balance; //обрезок строки
    string global_buf; //обрезок + текущая строка.  Работаем с этой строкой
 
    size_t size_global_buf = global_buf.size();
 
    while(!ifs.eof() || size_global_buf > MAXLENGTH)
    {
        buf.clear();
        getline(ifs, buf); //читаем очередную строку из файла
 
        global_buf = balance + buf;
 
        if (size_global_buf > MAXLENGTH) //если размер строки больше максимума
        {
            size_t pos = global_buf.find_last_of(" ", MAXLENGTH); //ищем начало неуместившегося слова с позиции (40)
            balance = global_buf.substr(pos, std::string::npos); //запоминаем остаток
            global_buf.erase(pos, std::string::npos); //удаляем лишнее
        }
 
        cout << global_buf << endl;
 
        if (ifs.eof())
        {
            global_buf = balance;
        }
    }
 
    cout << balance;
 
    ifs.close();
 
    return 0;
}
Добавлено через 3 минуты
главное чтобы в тексте не было слов длинной > MAXLENGTH
 
Текущее время: 06:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru