Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ С++11 Лямбда-выражения и вывод результата http://www.cyberforum.ru/cpp-beginners/thread1009497.html
Поспорил с одним человеком, что смогу следующий код: alert( ); на C++ сделать (тоже просто). Решил использовать лямбда-выражения и C++11. Вот код: #include <iostream> #include <vector> #include...
C++ Массив. Найти сумму элементов, максимальный элемент, поменять местами со значением S Посмотрите пожалуйста , в чем ошибка ? Вот задание если что:Постановка задачи. Исходный массив считать из файла *.txt (файл создать самим). Результаты вычислений и манипуляций над массивом вывести... http://www.cyberforum.ru/cpp-beginners/thread1009491.html
C++ переделать простую программку
Всем привет, прог. работает, долго делал, но оказалось что прог. надо сделать с помощью map и set, и я просто не знаю как правильно переделать, может литература какая есть? помогите ...
C++ Перегрузка операторов
написал программу. проверил. вроде все правильно. но не работает. программа долjна посредством перегрузки знака = скопировать из строки S1 в строку S2 текст которых наxодится меjду (пример строки:...
C++ Нужен совет программистов http://www.cyberforum.ru/cpp-beginners/thread1009483.html
Здравствуйте. Я сейчас учусь на 2-ом курсе вуза, на программиста. Вот задался таким вопросом : а что нужно знать для того , чтобы именно РАБОТАТЬ программистом (хотя бы каким-то начинающим)....
C++ Как считать имена файлов из директории? Здорова господа!!! Есть директория, в ней находятся файлы, нужно получить массив с названиями этих файлов и еще определять где файл, а где директория. От в пхп это делается легко функция... подробнее

Показать сообщение отдельно
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.11.2013, 08:40
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
#include <iostream>
using namespace std;
 
int main()
{
    const int N = 10;
    
    int arr [N] = {1, 1, 2, 2, 3, 4, 5, 6, 6, 6};
    int c = 0; // количество серий
    for (int i = 0; i < N - 1; i++)
    {
        if (arr[i] == arr[i + 1])
        {
            ++c;
            while (i < N - 1 && arr[i] == arr[i + 1]) ++i;
            --i;
        }
    }
    //cout << c << endl;
    if (c) // если серии есть
    {
        int N2 = N + c;
        int *arr2 = new int[N2];
    
        for (int i = 0, j = 0; j < N2; ++i, ++j)
        {
            if (c)
            {
                if (arr[i] == arr[i + 1])
                {
                    arr2[j] = arr[i];
                    ++j;
                    --c;
                    if (j == N2) break;
                    while (i < N - 2 && arr[i + 1] == arr[i + 2])
                    {
                        arr2[j] = arr[i + 1];
                        ++i;
                        ++j;
                    }
                }
            }
            arr2[j] = arr[i];
        }
 
        for (int i = 0; i < N2; i++) // вывод нового массива
        {
            cout << arr2[i] << ' ';
        }
        delete [] arr2;
    }
    else // если серий нет
    {
        for (int i = 0; i < N; i++) // вывод старого массива
        {
            cout << arr[i] << ' ';
        }
    }
 
    cin.get();
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru