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

Указание границ массива C++ - C++

Восстановить пароль Регистрация
 
isewum
1 / 1 / 0
Регистрация: 06.06.2014
Сообщений: 7
06.06.2014, 15:54     Указание границ массива C++ #1
В паскале при объявлении массива можно воспользоваться таким нехитрым кодом
Pascal
1
2
var
arr: array[1990..2020] of integer;
чтобы, например, в качестве индекса элемента выступал какой-то год и дабы выделить память на 30 элементов вместо 2020.
Есть ли аналог сего действа в C++?
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Кудаив
328 / 405 / 24
Регистрация: 27.05.2012
Сообщений: 1,162
Завершенные тесты: 2
06.06.2014, 16:04     Указание границ массива C++ #2
Цитата Сообщение от isewum Посмотреть сообщение
Есть ли аналог сего действа в C++?
нету
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,537
Записей в блоге: 27
06.06.2014, 16:05     Указание границ массива C++ #3
Цитата Сообщение от Кудаив Посмотреть сообщение
нету
Да ладно. Точно? А контейнер map такого не делает?
Кудаив
328 / 405 / 24
Регистрация: 27.05.2012
Сообщений: 1,162
Завершенные тесты: 2
06.06.2014, 16:08     Указание границ массива C++ #4
Цитата Сообщение от Тамика Посмотреть сообщение
map
а map это массив?
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,537
Записей в блоге: 27
06.06.2014, 16:09     Указание границ массива C++ #5
Контейнер.

Добавлено через 25 секунд
Но для задач с массивом более чем подходит.
isewum
1 / 1 / 0
Регистрация: 06.06.2014
Сообщений: 7
06.06.2014, 16:12  [ТС]     Указание границ массива C++ #6
Цитата Сообщение от Тамика Посмотреть сообщение
map
Просветите, пожалуйста, что это и как пользоваться
Кудаив
328 / 405 / 24
Регистрация: 27.05.2012
Сообщений: 1,162
Завершенные тесты: 2
06.06.2014, 16:16     Указание границ массива C++ #7
Цитата Сообщение от Тамика Посмотреть сообщение
Но для задач с массивом более чем подходит.
придется добавлять проверку при каждом обращении к элементу мапы по ключу - присутствует ли элемент в мапе

Добавлено через 44 секунды
но эт не суть - эт я нудного включил

Добавлено через 1 минуту
http://adorning.ru/2010/01/18/s-urok...ivnyiy-massiv/
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,537
Записей в блоге: 27
06.06.2014, 16:18     Указание границ массива C++ #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от isewum Посмотреть сообщение
Просветите, пожалуйста, что это и как пользоваться
Так же, как и массивом. Только вместо индекса элемента, Вы используете любые данные-ключ, которые нужны. Хотите года использовать? Пожалуйста.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <map>
 
int main()
{
    std::map<int, int> years;
    for (int i = 1990; i < 2020; ++i)
        years[i] = i;
 
    std::cout << years[1990] << "\n";
    std::cout << years[2000] << "\n";
    system("pause>>null");
}
std::map<здесь пишете данные, которые нужны будут для ключа сначала, а потом для самого элемента. Это может быть int, string, char, double>. Так же и тип данных для индекса может быть любого типа. Есть есть вопросы - задавайте.

Добавлено через 36 секунд
Цитата Сообщение от Кудаив Посмотреть сообщение
но эт не суть - эт я нудного включил
Это точно. Я всегда использовала мапу для таких ситуаций. Очень удобно.
zer0mail
2177 / 1860 / 187
Регистрация: 03.07.2012
Сообщений: 6,618
Записей в блоге: 1
06.06.2014, 16:21     Указание границ массива C++ #9
Цитата Сообщение от isewum Посмотреть сообщение
array[1990..2020]
Имхо, это 31 элемент.
В С можно сделать константу (FistGod, например) и отнимать ее от года при чтении/записи элементов массива.
isewum
1 / 1 / 0
Регистрация: 06.06.2014
Сообщений: 7
06.06.2014, 16:30  [ТС]     Указание границ массива C++ #10
Тамика, спасибо! Все по полочкам разложили.
Цитата Сообщение от zer0mail Посмотреть сообщение
Имхо, это 31 элемент.
Да, вы правы, но суть не в этом была.
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,537
Записей в блоге: 27
06.06.2014, 16:35     Указание границ массива C++ #11
Цитата Сообщение от isewum Посмотреть сообщение
Тамика, спасибо! Все по полочкам разложили.
Всегда пожалуйста.
zer0mail
2177 / 1860 / 187
Регистрация: 03.07.2012
Сообщений: 6,618
Записей в блоге: 1
06.06.2014, 16:36     Указание границ массива C++ #12
Цитата Сообщение от isewum Посмотреть сообщение
Да, вы правы, но суть не в этом была.
Суть в том, чтобы решать задачу правильно и адекватным способом
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.06.2014, 16:36     Указание границ массива C++
Еще ссылки по теме:

Указание заданного промежутка C++
C++ Указание пути для записи файла
C++ Класс массив. Задания произвольных границ индексов массива

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
azbest
 Аватар для azbest
36 / 36 / 7
Регистрация: 12.03.2013
Сообщений: 141
06.06.2014, 16:36     Указание границ массива C++ #13
Цитата Сообщение от zer0mail Посмотреть сообщение
В С можно сделать константу (FistGod, например) и отнимать ее от года при чтении/записи элементов массива.
Хороший вариант
C++
1
2
3
4
5
6
#define START 1990
..........................
int year[31];
..........................
int y=1995;
yaer[y-START]=300;
Yandex
Объявления
06.06.2014, 16:36     Указание границ массива C++
Ответ Создать тему
Опции темы

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