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

Перед каждой серией одинаковых элементов массива вставить нули - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Непонятный вызов класса в C++ http://www.cyberforum.ru/cpp-beginners/thread1133252.html
Когда изучал классы в C++ на уроках было показано два примера как можно пользоватся классами в коде Например на основе трёх файлов: main.cpp #include <iostream> #include <string> using...
C++ Выборка и обработка информации Всем доброго времени суток! Требуется помощь, чтобы довести программу до ума..задание звучит так: Составить программу, которая должна выполнять считывание информации о студентах, выборку и... http://www.cyberforum.ru/cpp-beginners/thread1133249.html
C++ Написать функции сложения, умножения и вычитания квадратных матриц, и вычислить с их помощью выражение
Написать функции для сложения, умножения и вычитания квадратных матриц. Используя составленные функции, вычислить значение матричного выражения, заданного по вариантам. Матрицы A, B, C вводятся с...
C++ Описать структуру с именем ORDER
Описать структуру с именем ORDER, содержащую следующие поля: расчетный счет плательщика; расчетный счет получателя; перечисляемая сумма в грн. Написать программу, выполняющую следующие действия: •...
C++ перевести с Pascal на C++ http://www.cyberforum.ru/cpp-beginners/thread1133236.html
program lab_7; uses crt; var a:array of integer; b:array of integer; r:array of integer; s,z,x:array of integer; sign1, sign2,n1,n2,i,k,n,m,j,zn,zn1,zn0,t,t1,q:integer;...
C++ как читать из файла строки и числа #include <stdio.h> #include <conio.h> #include <iostream.h> int main() { clrscr(); FILE *file; int k; char mas; подробнее

Показать сообщение отдельно
kamre
126 / 130 / 4
Регистрация: 25.12.2011
Сообщений: 443
29.03.2014, 21:56
Цитата Сообщение от bogdan_017 Посмотреть сообщение
Вставить перед каждой его серией элемент с нулевым значением(под серией понимать два и более идущих подряд одинаковых элементов массива).
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <algorithm>
#include <vector>
#include <iostream>
 
using namespace std;
 
int main()
{
    vector<int> vect = { 2, 2, 2, 3, 7, 7, 7, 7, 8, 8 };
    vect.reserve(2*vect.size());
    auto iter = begin(vect);
    while (iter != end(vect)) {
        iter = adjacent_find(iter, end(vect));
        if (iter != end(vect))
            vect.insert(iter++, 0);
        iter = find_if(iter, end(vect), [=] (int i) { return i != *iter; });
    }
    for (int i : vect)
        cout << i << ", ";
}
0, 2, 2, 2, 3, 0, 7, 7, 7, 7, 0, 8, 8,
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru