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

Как написать класс "вектор" на С++ - C++

Восстановить пароль Регистрация
 
VPesprit
0 / 0 / 0
Регистрация: 23.06.2013
Сообщений: 3
23.06.2013, 21:30     Как написать класс "вектор" на С++ #1
Нужно написать класс для нумерации элементов вектора не с 0, а любыми символами....
К примеру в паскалеподобных языках такое осуществимо. То есть элементы вектора 1 2 3 4 5 можно было пронумеровать -10 -9 -8 -7 -6 -5-й элемент. Такую же задачу нужно осуществить на С++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,399
23.06.2013, 21:39     Как написать класс "вектор" на С++ #2
так надо вектор написать или обычный массив, где индексация начинается с произвольного числа?
VPesprit
0 / 0 / 0
Регистрация: 23.06.2013
Сообщений: 3
23.06.2013, 21:40  [ТС]     Как написать класс "вектор" на С++ #3
Цитата Сообщение от MrGluck Посмотреть сообщение
так надо вектор написать или обычный массив, где индексация начинается с произвольного числа?
одномерный массив по сути
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,399
23.06.2013, 21:52     Как написать класс "вектор" на С++ #4
@VPesprit, можете хранить обычный массив пар, где первое число - "индекс" или ключ, второе - сам элемент
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <unordered_map>
 
typedef std::unordered_map<int, int> umap; // вместо второго int любой тип
 
int main()
{
    umap m;
    for (int i=-10; i < 5; i++)
        ++m[i];
    std::cout << m[-10];
}
Добавлено через 1 минуту
Вот еще пример использования:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <unordered_map>
 
typedef std::unordered_map<int, int> umap; // вместо второго int любой тип
 
int main()
{
    umap m;
    m[-10] = 2;
    m[3] = 3;
    std::cout << m[-10] << m[3];
}
Yandex
Объявления
23.06.2013, 21:52     Как написать класс "вектор" на С++
Ответ Создать тему
Опции темы

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