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

Обработка строк с использованием указателей: вывести слова в два столбика, по четности их длины - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сформировать матрицу 11*3 и поменять местами столбец, содержащий минимальный элемент, с первым столбцом http://www.cyberforum.ru/cpp-beginners/thread1206858.html
помогите пожалуйста с заданием: из 33 положительных, отрицательных и нулевых значений чисел сформируйте матрицу 11*3. поменяйте местами столбец содержащий минимальный элемент, с первым столбцом, выдайте преобразованную матрицу. предусмотреть если минимум находится в 1 столбце. как вижу это я: 1) задание матрицы 2) поиск минимального значения 3)элемент1 записываем в память столбца н 4)...
C++ Определить, попадает ли точка в область определить, попадает ли точка с заданными координатами х,у в заштрихованную область. условие попадания точки в заштрихованную область записать одним предложением. область 1: x*x+y*y>=4; x<=-2, y>=2; область 2: x-2y<=0; 0<x<=2, -1<y<=0 подобные задачи встречались здесь на сайте, подобно им я попробовала сделать программу... #include<stdio.h> #include<conio.h> #include<math.h> http://www.cyberforum.ru/cpp-beginners/thread1206853.html
C++ Поиск элемента одной строки во второй с последующим исключением
Дано две строки, нужно сравнить и убрать из первой символы которые есть во второй. Например: 1: abcdeeedsasa 2: gjmxvde result: abcsasa Вот мой вариант кода(метод класса), но цикл завершается сразу после того как найдет одинаковый символ, т.е. 1: abcdeeedsasa 2: gjmxvde
Массив структур или объект C++
есть класс class myclass { struct mystruct { int num;//номер char name;//имя }; }; Допустим, 10 сотрудников.
C++ Определить число листьев на каждом уровне дерева http://www.cyberforum.ru/cpp-beginners/thread1206844.html
Нужно составить такую функцию. Именно на каждом отдельном уровне, а не по дереву вообще.
C++ Непонятки с конструктором копирования class Table { Row* p; size_t size; public: Table(int i = 0) { p = new Row; size = i; } подробнее

Показать сообщение отдельно
Max Dark
В поиске работы
 Аватар для Max Dark
1546 / 1399 / 501
Регистрация: 09.10.2013
Сообщений: 3,185
Записей в блоге: 8
Завершенные тесты: 2
13.06.2014, 12:10     Обработка строк с использованием указателей: вывести слова в два столбика, по четности их длины
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
#define UNICODE
#include <iostream>
#include <iomanip>
#include <ostream>
#include <istream>
#include <string>
#include <vector>
#include <algorithm>
#ifdef UNICODE
#include <cwchar>
#include <cwctype>
typedef wchar_t char_t;
#define T(text) L##text
#define isSpace(ch) iswspace((ch))
#else
#include <cctype>
typedef char char_t;
#define T(text) text
#define isSpace(ch) isspace((ch))
#endif// UNICODE
 
typedef std::basic_string  < char_t > string;
typedef std::basic_istream < char_t > istream;
typedef std::basic_ostream < char_t > ostream;
typedef std::vector< string > stringVector;
 
size_t some(const string &line, stringVector *w) {
    string word;
    for(string::const_iterator c = line.begin();
        c != line.end(); ++c) {
        if(isSpace(*c)) {
            if(false == word.empty()) {
                w[word.size()%2].push_back(string(word));
                word = T("");
            }
        }
        else
            word.push_back(*c);
    }
    if(false == word.empty()) {
        w[word.size()%2].push_back(word);
    }
    size_t len1 = 0;
    size_t len2 = 0;
    std::sort(w[0].begin(), w[0].end());
    std::sort(w[1].begin(), w[1].end());
    if(false == w[0].empty())
        len1 = w[0].back().size();
    if(false == w[1].empty())
        len2 = w[1].back().size();
    return (len1 > len2 ? len1 : len2);
}
int process(istream &in, ostream &out) {
    stringVector w[2];
    string line;
    size_t wspace;
    size_t count;
    
    out<<T("Enter line: ");
    std::getline(in, line);
    wspace = some(line, w)+2;
    count = std::max(w[0].size(), w[1].size());
    out.width(wspace);
    out<<T("0");
    out.width(wspace);
    out<<T("1")<<std::endl;
    for(size_t i = 0; i<count; ++i) {
        out.width(wspace);
        out<<(i<w[0].size() ? w[0].at(i) : string(T(" ")));
        out.width(wspace);
        out<<(i<w[1].size() ? w[1].at(i) : string(T("")));
        out<<std::endl;
    }
    return 0;
}
int main() {
#ifdef UNICODE
    return process(std::wcin, std::wcout);
#else
    return process(std::cin, std::cout);
#endif
}
 
Текущее время: 15:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru