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

контейнер - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перемещение файла http://www.cyberforum.ru/cpp-beginners/thread603572.html
Программа создает архив.Его надо переместить в др.папку.Как реализовать?
C++ Найти наибольшие элементы и их порядковые номера массивов Найти наибольшие элементы и их порядковые номера массивов X(17) и Y(20). Наибольшие элементы определять с использованием функции. Предусмотреть функцию формирования элементов массива. Помогите пожалуйста. http://www.cyberforum.ru/cpp-beginners/thread603570.html
целочисленная квадратная матрица C++
Дана целочисленная квадратная матрица. Определить: - Произведение нечётных элементов каждого столбца; - Преобразовать исходную исходную матрицу по правилу: чётные строки разделить на след, нечётные оставить без изменения.
C++ Вычислить сумму элементов массива с нечётными номерами
помогите пожалуйста. В одномерном массиве, состоящем из N вещественных элементов, вычислить: - Сумму элементов с нечётными номерами; - Количество элементов массива, расположенных между первым и последним отрицательными элементами. Сжать массив, удалив из него все элементы, модуль которых не превышает 1. Освободившиеся в конце массива элементы заполнить нулями.
C++ Вывести на экран первое и второе слово http://www.cyberforum.ru/cpp-beginners/thread603566.html
помогите пожалуйста. В строке удалить символ двоеточие ( и подсчитать количество удалений. Вывести на экран первое и второе слово.
C++ напечатать все числа Пифагора меньшие N помогите плиз. Натуральные числа a,b,c называются числами Пифагора, если выполняеться условие a2+b2=c2. напечатать все числа Пифагора меньшие N. подробнее

Показать сообщение отдельно
igorrr37
1611 / 1239 / 124
Регистрация: 21.12.2010
Сообщений: 1,895
Записей в блоге: 7
12.06.2012, 16:53     контейнер
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
63
64
65
#include <iostream>
#include <algorithm>
#include <stdexcept>
 
template<typename T>
class Vector
{
public:
    Vector() : p(nullptr), vSize(0){}
    void push_back(const T& val)
    {
        T* pt = new T[vSize + 1];
        std::copy(p, p + vSize, pt);
        pt[vSize++] = val;
        std::swap(p, pt);
        delete[] pt;
    }
    void erase(std::size_t ind)
    {
        if(ind < vSize)
        {
            T* pt = new T[vSize - 1];
            std::copy_if(p, p + vSize, pt, [ind, p](const T& rVal){return &rVal - p != ind;});
            std::swap(p, pt);
            --vSize;
            delete[] pt;
        }
        else std::cerr << "erase failed: ind >= vSize" << std::endl;
    }
    T& operator[](std::size_t ind)
    {
        if(ind >= vSize) throw std::out_of_range("operator[] failed: ind >= vSize");
        return p[ind];
    }
    std::size_t size() const
    {
        return vSize;
    }
    ~Vector(){delete[] p;}
private:
    Vector(const Vector&);
    Vector& operator= (const Vector&);
    std::size_t vSize;
    T* p;
};
 
void Fa(){std::cout << "Fa" << std::endl;}
 
void Fb(){std::cout << "Fb" << std::endl;}
 
void Fc(){std::cout << "Fc" << std::endl;}
 
int main()
{
    Vector<void(*)()> v;
    v.push_back(Fa);
    v.push_back(Fb);
    v.push_back(Fc);
    v.erase(2);
    for(int i = 0; i < v.size(); ++i)
    {
        v[i]();
    }
    return 0;
}
 
Текущее время: 01:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru