Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.06.2015, 11:40   #1
shilovec5377
Форумчанин
 
Аватар для shilovec5377
 
Регистрация: 29.06.2011
Сообщений: 117
Радость Работа с STL

Всем привет. Помогите пожалуйста написать. Нужно использовать STL. Необходимо сделать добавление элемента в массив и удаление элемента из массива.
Код:
#include<stdexcept>
#include<iostream>
#include<time.h>
using namespace std;


// функция генерирования случайных номеров от 0 до limit
int GetRandom(const int limit)
{
	// если limit = 0, возвращаем 0 иначе от 0 до limit + 1
	return limit == 0 ? 0 : rand() % limit + 1;
}


template<typename T, size_t N>
class Vector
{
public:
	typedef T value_type;                                                            //typedef  вводитновое имя (синоним) для существующеготипа
	typedef T& reference;
	typedef const T& const_reference;
	typedef size_t size_type;
	static const size_type static_size = N;  //переменная для хранения размера массива
	Vector(const T &t);
	size_type size() const
	{
		return static_size;
	}
	reference operator[](const size_type& i)   
	{
		rangecheck(i);
		return elem[i];
	}
	const_reference operator[](const size_type& i) const
	{
		rangecheck(i);
		return elem[i];
	};


	void Sort() 
	{
		for (int i = 1; i < N; ++i)
			for (int j = N - 1; j >= i; --j)
				if (elem[j - 1] > elem[j])
					swap(elem[j], elem[j - 1]);
	}
private:
	void rangecheck(const size_type& i) const
	{
		if (i >= size()) {
			throw range_error("Index out of range error!");
		}
	}
	T elem[N];
};


template<typename T, size_t N>
Vector<T, N>::Vector(const T &t)
{
	for (int i = 0; i < N; i++)
		elem[i] = t;
}
int main()
{
	srand(time(NULL));
	Vector<int, 10> t(0);
	// заполняем случайными значениями
	for (int i = 0; i < 10; i++)
		t[i] = GetRandom(100);
	// показываем исходный массив
	for (int i = 0; i < 10; i++)
		cout << t[i] << " ";
	t.Sort();
	cout << endl;
	// показываем отсортированный массив
	for (int i = 0; i < 10; i++)
		cout << t[i] << " ";
	getchar();
	return 0;
}
shilovec5377 вне форума Ответить с цитированием
Старый 11.06.2015, 12:02   #2
shilovec5377
Форумчанин
 
Аватар для shilovec5377
 
Регистрация: 29.06.2011
Сообщений: 117
По умолчанию Сделать добавление элемента в массив и удаление элемента из массива используя STL

Тема закрыта. Написал другую прогу по меньше

Последний раз редактировалось shilovec5377; 11.06.2015 в 12:45.
shilovec5377 вне форума Ответить с цитированием
Старый 15.06.2015, 18:43   #3
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Прикрепи программу которая меньше то? )

По тому коду, что ты привел не понятно причем тут STL - в нем есть готовый вектор, свой велосипед не нужен.
rrrFer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с STL Mikhal2406 Помощь студентам 2 25.02.2014 22:58
Нужна помощь,студент,работа с библиотекой STL Gonta52 Помощь студентам 0 07.01.2014 16:47
работа с STL очередями Yaroslav992 Общие вопросы C/C++ 5 15.09.2012 20:19
Работа с классами и STL Blad47 Помощь студентам 3 31.03.2011 01:07
Работа со списками методами STL JeyKip Общие вопросы C/C++ 5 17.12.2009 02:13