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

Реализовать шаблон Array - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
acselerator
1 / 1 / 0
Регистрация: 01.04.2010
Сообщений: 31
28.12.2010, 01:38     Реализовать шаблон Array #1
Срочно нужна помощь!
Реализовать шаблон Array, как класс-шаблон числового массива с задаваемыми пределами индексов!
Буду очень благодарен за помощь!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.12.2010, 01:38     Реализовать шаблон Array
Посмотрите здесь:

C++ Реализовать шаблон сортировки двухпутевыми вставками
C++ Реализовать шаблон класса для хранения динамического списка
C++ Реализовать шаблон функции, которая осуществляет поиск нечетных элементов матрицы.
C++ Реализовать шаблон класса, который осуществляет поиск всех нечетных чисел
Реализовать шаблон сортировки массива методом слияния C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
28.12.2010, 02:12     Реализовать шаблон Array #2
Их на форуме вагон. Воспользуйтесь поиском.
NataliRaider
1 / 1 / 0
Регистрация: 25.04.2012
Сообщений: 5
29.05.2012, 08:39     Реализовать шаблон Array #3
Помогите пожалуйста с этим заданием.Я чайник,не разбираюсь в с++.а задание это очень нужно
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
29.05.2012, 10:30     Реализовать шаблон Array #4
Присмотрись к етому: http://www.cplusplus.com/reference/stl/array/
Там и шаблон и методы.
NataliRaider
1 / 1 / 0
Регистрация: 25.04.2012
Сообщений: 5
13.06.2012, 00:02     Реализовать шаблон Array #5
А написать код на C++?Может кто может?
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
13.06.2012, 13:55     Реализовать шаблон Array #6
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#include <iostream>
#include <type_traits>
#include <algorithm>
#include <stdexcept>
#include <cstddef>
 
template<typename T, int N>
class array
{
public:
   typedef T value_type;
   typedef size_t size_type;
   typedef typename std::add_lvalue_reference<T>::type reference;
   typedef const reference const_reference;
   typedef typename std::add_pointer<T>::type pointer;
   typedef const pointer const_pointer;
   typedef pointer iterator;
   typedef const_pointer const_iterator;
   typedef typename std::reverse_iterator<iterator> reverse_iterator;
   typedef typename std::reverse_iterator<const_iterator> const_reverse_iterator;
   typedef ptrdiff_t difference_type;
 
   constexpr size_type size() const { return N; }
   constexpr size_type max_size() const { return size(); }
   constexpr bool empty() const { return !N; }
   reference operator [](size_type idx) { return array_[idx]; }
   const_reference operator [](size_type idx) const { return array_[idx]; }
   reference at(size_type idx)
   {
      check_size(idx);
      return array_[idx];
   }
   const_reference at(size_type idx) const
   {
      check_size(idx);
      return array_[idx];
   }
   reference front()
   {
      return *begin();
   }
   const_reference front() const
   {
      return *begin();
   }
   reference back()
   {
      return N ? *(end() - 1) : *end();
   }
   const_reference back() const
   {
      return N ? (*end() - 1) : *end();
   }
   pointer data() { return array_; }
   const_pointer data() const { return array_; }
   iterator begin() { return iterator(array_); }
   const_iterator begin() const { return const_iterator(array_); }
   iterator end() { return iterator(array_ + N); }
   const_iterator end() const { return const_iterator(array_ + N); }
   iterator rbegin() { return reverse_iterator(end()); }
   const_iterator rbegin() const { return const_reverse_iterator(end()); }
   iterator rend() { return reverse_iterator(begin()); }
   const_iterator rend() const { return reverse_iterator(begin()); }
   void fill(const value_type& val)
   {
      std::fill(begin(), end(), val);
   }
   void swap(array& other)
   {
      std::swap_ranges(begin(), end(), other.begin());
   }
 
   T array_[N ? N : 1];
private:
   void check_size(size_type idx) const
   {
      if (idx >= size())
      {
         throw std::out_of_range("out_of_range");
      }
   }
};
 
int main()
{
   array<int, 3> arr = {1,2,3};
   std::for_each(arr.begin(), arr.end(), [](const int val) { std::cout << val << std::endl; });
}
http://liveworkspace.org/code/9074cd...431d716026bfe0
Yandex
Объявления
13.06.2012, 13:55     Реализовать шаблон Array
Ответ Создать тему
Опции темы

Текущее время: 22:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru