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

Использование алгоритмов STL - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ STL http://www.cyberforum.ru/cpp-beginners/thread364754.html
Здравствуйте. Ребят пожалуйста решите 2 простенькие задачки, потратьте немного своего времени, очень прошу. Заранее огромное спасибо вам! 1) Дана последовательность целых чисел. Определить,...
C++ Вычислить сумму ряда с позиции N до позиции M. Функцию вычисления суммы реализовать рекурсивно. 9. Вычислить сумму ряда (-1)в степени 3n/3n! с позиции N до позиции M. Функцию вычисления суммы реализовать рекурсивно. Добавлено через 4 минуты И пожалуйсто на уровне 3-го курса колледжа ... http://www.cyberforum.ru/cpp-beginners/thread364753.html
Cоседи элемента целочисленной матрицы C++
помогите написать прогу в С++: использовать динамический массив. При необходимости заполнения массива предусмотреть два способа: ввод с клавиатуры и заполнение с помощью датчика случайных чисел. В...
Неправильно считается десятичный логарифм C++
не верно считается десятичный логарифм(z), почему? заранее спс #include <iostream> #include <conio.h> #include <math.h> using namespace std; extern float pow ( float, int ); int main() { ...
C++ Найти произведение ряда http://www.cyberforum.ru/cpp-beginners/thread364733.html
это нужно моему другу,он скоро сдает инфу,и ему задали вот эти номера сделать. а я сам не шарю в программировании...напишите плз если не сложно. большое спс=)
C++ Шифр Цезаря: программа выводит не то, что нужно Пытался реализовать код цезаря на С++ #include <iostream> using namespace std; const char alphavit={'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R',... подробнее

Показать сообщение отдельно
diagon
Higher
1932 / 1198 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
11.10.2011, 18:45
Цитата Сообщение от Montanaa Посмотреть сообщение
2) Дана последовательность целых чисел. Вставить новый элемент после всех элементов, которые заканчиваются на заданную цифру.
Не придумал, как решить красиво, только так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <algorithm>
#include <vector>
#include <iterator>
 
int main()
{
    int arr[] = { 122, 123, 124, 324, 4 };
    std::vector<int> vec( arr, arr + sizeof(arr) / sizeof(*arr) );
    int digit = 4; //последняя цифра
    int new_element = 100500; // новый элемент
    std::vector<int> new_vec;
    
    std::for_each( vec.begin(), vec.end(), [&] ( int x )
    {
        new_vec.push_back(x);
        if ( x % 10 == digit )
            new_vec.push_back( new_element );
    } );
    
    std::cout << "Answer: ";
    std::copy( new_vec.begin(), new_vec.end(), std::ostream_iterator<int> (std::cout, " ") );
}
Результат: http://liveworkspace.org/code/e39b625b676b373938088529e793be9e
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.