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

Вставить тире между последовательностью чисел - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Битовые операции http://www.cyberforum.ru/cpp-beginners/thread1137624.html
Пункт 1.4 Правил: размещайте задание на русском языке.
C++ Суммировать элементы столбца матрицы #include <iostream>; #include<locale> using namespace std; int mas1 ,m,n,mas2,k,i,j,mas3,mas4,q,mas5,h; int main() { setlocale(LC_ALL,"Rus"); cin>>m; cout<<endl; cin>>n; http://www.cyberforum.ru/cpp-beginners/thread1137623.html
Проверьте функцию пожалуйста(удаление элемента после найденного). Рекурсия C++
void country(TEda * Start) {string str = "Испания"; TEda* del; if(Start->next == NULL && Start->bludo == str){ cout<<"После блюда страны Испании больше нету блюд!\n"; return; } if(Start->bludo == str && Start->next != NULL){ Start=Start->next; del = Start;
Литература для подготовки к собеседованию(С++ джун) C++
Для прохождения собеседования хотелось бы подготовится, нужна литература - максимально полная книга по С++...в которой рассматриваются разные аспекты языка, и такая же по ООП.
C++ ООП - работа с графикой http://www.cyberforum.ru/cpp-beginners/thread1137551.html
Всем привет, задали лабу, первое задание без проблем сделал, но вот вторая часть, беда в том, что с графикой не учили работать, не понимаю, как это все реализовать. OpenGL или в виндовс формах ? Вот задание: Спроектируйте иерархию классов для представления графических объектов. Главным базовым классом для всех объектов является класс Point- точка на плоскости (в пространстве ) с ее...
C++ Описание функции Доброго времени суток! Начал учить с++, добрался до функций, нашел тут задачку на описание функции...Немного не понимаю метода решения и какие исходные данные здесь? #include<iostream> using namespace std; float fact(float q){ return !q ? 1: q*fact(q-1);} float funct(float n, float m){ return (fact(n)*fact(m))/fact(n+m); } подробнее

Показать сообщение отдельно
Mr_David
0 / 0 / 0
Регистрация: 16.02.2014
Сообщений: 4
03.04.2014, 01:41     Вставить тире между последовательностью чисел
Написал программу которая вставляет тире между последовательностью чисел, все вроде бы хорошо, работает, но нашел баг, ввожу числа типа 12456788, а получаю:
1-2,4-8,8 .В чем проблема? Почему 8 повторяется два раза, где тире и как отдельная цифра? Помогите пожалуйста, заранее спасибо!!!))
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
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
    string a;
    string b;
    char begin, end;
    bool start = false;
    
    cin >> a;
    
    
    for (int i = 1; i <= a.size(); i++)
    {
        if (a[i] == (a[i - 1] + 1) && start == false) // если текущий символ меньше предыдущего и постеловательность не начата
        {
            begin = a[i - 1]; // запоминаем первый символ
            start = true; // признак последовательности - true
            continue;
        }
        
        // если конец последовательности
        if ( (a[i] != a[i - 1] + 1  || i == a.size() - 1) && start == true )
        {
            // формируем выходную строку
            if (b.size() != 0)
                b += ',';
            if (i == a.size() - 1)
            {
                end = a[i];
            }
            else
            {
                end = a[i - 1];
            }
            
            start = false;
            b += begin;
            b += '-';
            b += end;
            //i++;
            continue;
            
        }
        
        if ((start == false) && (i != a.size() + 1))
        {
            if (b.size() != 0)
                b += ',';
            b += a[i - 1];
            continue;
        }
        
    }
    
    cout << b << endl;
    getchar();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru