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

Знак табуляции между числами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Реализовать для класса перегрузку операции [] http://www.cyberforum.ru/cpp-beginners/thread1209612.html
Всем привет. помогите ПЖ с условием: Создать несколько объектов (например, a и b) разработанного класса. Класс – вектор (одномерный массив). Реализовать для объектов данного класса перегрузку операции (a=k и k=b). Содержимое объектов (a,b их векторов), до и после выполнения операции, вывести на экран. я не понимаю они же одинаковые получаться.
C++ Образуют ли элементы ненулевого массива знакочередующуюся последовательность Проверить, образуют ли элементы ненулевого массива знакочередующуюся последовательность. Помогите, срочно нужен кож до завтра. http://www.cyberforum.ru/cpp-beginners/thread1209601.html
C++ Вызов виртуальной функции через указатель на базовый класс
Всем привет! Помогите пожалуйста разобраться с вызовом виртуальной функции в программе. В моей программе требуется организовать класс треугольник, определенный по длинам трех сторон содержащий методы нахождения периметра и площади (по формуле Герона). А так же определить виртуальную функцию для нахождения площади таким образом, чтобы в базовом и производном классе тела функций...
Циклический сдвиг в матрице C++
Всем добрый день! Необходима помощь. Задание такое: Дана матрица int matr. Используя функции, сдвинуть циклически каждый нечетный столбец матрицы на количество элементов равное первому элементу в этом столбце. Я кое что уже написала, но что-то не так, не могу понять что не так делаю, будьте добры, укажите на мои ошибки. Вот моя функция: void sdvig(int mas, int n, int k) { ...
C++ Определить число соседних двух элементов с разными знаками http://www.cyberforum.ru/cpp-beginners/thread1209587.html
Дан одномерный массив a из n элементов, элементы отличны от нуля. Определить число соседних двух элементов с разными знаками Написать код с комментариями
C++ Как сделать чтоб все проверки вызывались одной функцией? Доброго времени суток! Имеется код с огромным числом вот таких проверок: cout << "\nEnter number (-100000 to 100000): "; while(!(cin>>x) || (x<(-100000)) || (x>100000) || cin.get() != '\n' ) //incorrect input protection { cout<<"Input incorrect. Please, try again.\n"; cin.clear(); // resets all bits of stream cin.sync(); //remove data from the buffer cout << "\nEnter... подробнее

Показать сообщение отдельно
NanoBreaker
23 / 23 / 7
Регистрация: 11.07.2013
Сообщений: 89
16.06.2014, 17:45     Знак табуляции между числами
Принцип действия такой:

1. Начинаем делать проход по строке, которую ввели с клавиатуры.
2. Как только находим цифру, добавляем её к под строке.
3. Как только после цифры следует любой другой символ, находим начало под строки, в которую мы складывали все цифры, это я делаю через size_t found = buff_str.find(sub_str); можно было и по другому, более рационально, но тебе же важно чтоб она работала, но на самом деле мне было лень = D
4. found хранит в себе индекс начала под строки, дальше легко добавляем табуляции.

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
#include <iostream>
#include <string>
#include <cctype>
 
using namespace std;
 
int main(void)
{
    string main_str("");
    string buff_str("");
    string sub_str("");
 
    cout << "Введите строку: ";
    getline(cin, main_str);
 
    main_str.insert(main_str.begin(), ' ');
 
    buff_str = main_str;
 
    for (int i = 1; i < main_str.size(); i++)
    {
        if (isdigit(main_str[i]))
        {
            sub_str += main_str[i];
        }
        else if (isdigit(main_str[i - 1]) && !isdigit(main_str[i]) )
        {
            size_t found = buff_str.find(sub_str);
            buff_str.insert(found, "\t");
            buff_str.insert(found + sub_str.size() + 1, "\t");
            sub_str.clear();
        }
    }
    
    cout << buff_str << endl;
 
    system("PAUSE");
    return EXIT_SUCCESS;
}
Этот вариант и цифры захапывает, проблема решается добавлением одного условия, сделаешь сам!
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru