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

есть строка. нужно скопировать в другую строку n cлов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Составить блок схему http://www.cyberforum.ru/cpp-beginners/thread199145.html
Составьте блок схему Дано целое число m>1. Получить наименьшее целое k, при котором 4^k>m. Заранее благодарен
C++ Случайным образом создать таблицу пар целочисленных значений и записать её в текстовый файл в виде: Помогите прошу, зависит оценка=) Преподавательница сама не может ни одной задачи решить(Каждый урок пишет нам на доске, говорит проверяйте, на компах не идет ни одна. одни ошибки, она не обясняет почему и как дальше.. Поэтому я с файлами не дружу..спасайте людиии) Случайным образом создать таблицу пар целочисленных значений и записать её в текстовый файл в виде: X ... http://www.cyberforum.ru/cpp-beginners/thread199144.html
C++ Работа с файлами и массивами строк
Помогите пожалуйста :(:wall: Нужно написать программу, которая считывает текст из файла и записывает каждое слово в отдельный элемент массива. Вывести на экран: а) слова, начинающиеся с заглавной буквы. б) слова, начинающиеся с гласной. в) слова, начинающиеся с согласной.
C++ метод Рунге — Кутты
помогите пожалуйста решить методом Рунге — Кутты следующую систему уравнений: x1'=V_x1 V'_x1=-w/|x1-x2| x2'=V_x2 V'_x2=-w/|x1-x2| w - константа равная 2, нужно определить x1(t) и x2(t). начальные условия V_x1(0)=0, V_x2(0)=0, x1(0)=a, x2(0)=b, a,b - положительные числа которые сами задаем. Я пишу в borland 3.1, но мне главное важен сам алгоритм.
C++ строки с комментами http://www.cyberforum.ru/cpp-beginners/thread199139.html
написать прогу вычисляющую объем куба с помощью inline-функции
C++ Логическая переменная и оператор присваивания С помощью логической переменной и оператора присваивания определить: 1-я цифра у 3-хзначного числа больше 3-й цифры. подробнее

Показать сообщение отдельно
Kastaneda
Форумчанин
Эксперт С++
4514 / 2856 / 228
Регистрация: 12.12.2009
Сообщений: 7,250
Записей в блоге: 1
Завершенные тесты: 1
28.11.2010, 18:44     есть строка. нужно скопировать в другую строку n cлов
ForEveR, привет)
немного к твоему добавил)
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
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
#include <Windows.h> 
void print_result(const char*);
int main()
{
    std::string Str;
    std::getline(std::cin, Str);
    const std::string Delims=".,:?! ";
    for(std::string::iterator It=Str.begin(); It!=Str.end(); ++It)
    {
        if(Delims.find(*It)!=std::string::npos)
           *It=' ';
    }
    std::istringstream ist(Str);
    std::string tmp;
    std::vector<std::string> Vec;
    while(ist>>tmp)
       Vec.push_back(tmp);
    size_t n=0;
    std::cout<<"Enter numb of words for copying: ";
    std::cin>>n;
    if(n>=Vec.size())
    {
        std::cerr<<"Two more words\n";
        return 1;
    }
    std::string res;
    for(size_t i=0; i<n; ++i)
    {
        res+=Vec[i];
        if(i!=n-1)
           res+=' ';
    }
    print_result(res.c_str());
    std::system("pause");
    return 0;
}
void print_result(const char *result){
    using std::cout;
    CONSOLE_SCREEN_BUFFER_INFO CSBI;
    int len=strlen(result)+6;
    if(len<20)
        len=21;
    char* a=new char[len];
    for(int i=0;i<len-1;i++){
        if(i==0)a[i]=(char)0xC9;
        else if(i==len-2)a[i]=(char)0xBB;
        else if(i==(len-2)/2-2){
            strcpy(&a[i],"Result");
            i+=5;
        }
        else a[i]=(char)0xCD;
    }
    a[len-1]='\0';
    HANDLE hStd=GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hStd,BACKGROUND_RED|FOREGROUND_INTENSITY|FOREGROUND_BLUE |BACKGROUND_INTENSITY);
    GetConsoleScreenBufferInfo(hStd,&CSBI);
    COORD CD;
    CD.X=(CSBI.dwSize.X-len)/2;
    CD.Y=8;
    SetConsoleCursorPosition(hStd,CD);
    cout<<a;
    for(int i=0;i<len-1;i++){
        if((i==0)||(i==len-2))a[i]=(char)0xBA;
        else a[i]=' ';
    }
    for(int i=0;i<3;i++){
        CD.Y++;
        SetConsoleCursorPosition(hStd,CD);
        cout<<a;
    }
    for(int i=0;i<len-1;i++){
        if(i==0)a[i]=(char)0xC8;
        else if(i==len-2)a[i]=(char)0xBC;
        else a[i]=(char)0xCD;
    }
    CD.Y++;
    SetConsoleCursorPosition(hStd,CD);
    cout<<a;
    CD.X+=(strlen(a)-strlen(result))/2;
    CD.Y-=2;
    SetConsoleCursorPosition(hStd,CD);
    cout<<result;
    CD.X=0;
    CD.Y=20;
    SetConsoleCursorPosition(hStd,CD);
    SetConsoleTextAttribute(hStd,0x07);
 
}
только строки больше 74 символов лучше не вводить.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru