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

Заменить первых 2 нулевые элементы заданного вектора соответственно на первых 2 не нулевые элементы этого вектора - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти сумму квадратов елементов,которые не больше 2 http://www.cyberforum.ru/cpp-beginners/thread900981.html
Помогите пожалуйста с решением задачи,напишите код на с++ или паскале,буду очень благодарен. Дано:a0=sqr(cos)*1; f1=sqr(-sin)*1;ak=2ak-1-ak-2; k=2,3,k,100 Найти сумму квадратов елементов,которые не больше 2.
C++ Написать функцию, обеспечивающую решение квадратного уравнения Написать функцию, обеспечивающую решение квадратного уравнения. Параметрами функции должны быть коэффициенты и корни уравнения. Значение, возвращаемое функцией, должно передавать в вызывающую программу информацию о наличии у уравнения корней: 2 – два разных корня, 1 –корни одинаковые, 0 – уравнение не имеет решения. Кроме того, функция должна проверять корректность исходных данных. Если исходные... http://www.cyberforum.ru/cpp-beginners/thread900970.html
Многомерные массивы. Найти и напечатать числа, которые встречаются в массиве более одного раза C++
Одномерный массив А состоит из 30 элементов. Найти и напечатать числа, которые встречаются в массиве более одного раза.
C++ Переписать в одномерный массив R те элементы матриц А и В, имеющие одинаковые индексы и значения
Заданные две квадратные матрицы одинакового размера А и В. Переписать в одномерный массив R те элементы матриц А и В, имеющие одинаковые индексы и значения. В полученном массиве найти первый (а) и последний (b) индексы заданного пользователем натурального числа S. Если число S встречается в массиве R не менее двух раз, изменить этим числом элемент матрицы А с индексами (b mod N; a mod N). N -...
C++ Написать функцию, которая для заданого целого числа Х вычисляет количество пар (расположенных друг за другом) нулевых битов в этом числе http://www.cyberforum.ru/cpp-beginners/thread900945.html
Помогите плиз)) Нужно срочно на завтра написать прогу на С++. Если можно с блок-схемой. Заранее спасибо.
C++ экстремумы функции Помогите написать программу для нахождения экстремумов функции. Препод хочет чтобы программа считывала с файла координаты точек через которые проходит функция и считала экстремумы. При этом,формулы по которой задана функция нет, известны лишь координаты точек и промежуток на котором надо искать экстремумы. подробнее

Показать сообщение отдельно
MrGluck
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6227 / 3472 / 424
Регистрация: 29.11.2010
Сообщений: 9,178
13.06.2013, 20:50     Заменить первых 2 нулевые элементы заданного вектора соответственно на первых 2 не нулевые элементы этого вектора
Цитата Сообщение от 8Reset8 Посмотреть сообщение
(билиберда полная)
читаю: билдер полная. по-Фрейду

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
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
#include <functional>
 
template <typename InputIterator>
void myReplace(const InputIterator &beg, const InputIterator &end)
{
    typedef typename InputIterator::value_type type;
    InputIterator
        first0  = std::find_if(beg, end, std::bind2nd(std::equal_to<type>(), 0) ),
        second0 = std::find_if(first0+1, end, std::bind2nd(std::equal_to<type>(), 0) ),
        first   = std::find_if(beg, end, std::bind2nd(std::not_equal_to<type>(), 0) ),
        second  = std::find_if(first+1, end, std::bind2nd(std::not_equal_to<type>(), 0) );
 
    if (first != end && first0 != end)
        *first0 = *first;
    if (second != end && second0 != end)
        *second0 = *second;
}
 
 
int main()
{
    typedef std::vector<double> vec_d;
    typedef std::ostream_iterator<double> output_d;
    vec_d v = {1, 2, 6, 0, 1, 7, 0, 4};
    auto print_v = [](const vec_d &vec)
    {
        std::copy(vec.cbegin(), vec.cend(), output_d(std::cout, " ") );
        std::cout << std::endl;
    };
 
    print_v(v);
    myReplace(v.begin(), v.end());
    print_v(v);
}
 
Текущее время: 12:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru