Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
2891535
0 / 0 / 0
Регистрация: 23.07.2014
Сообщений: 6
1

Динамическое создание переменных

29.07.2014, 16:42. Просмотров 1561. Ответов 8
Метки нет (Все метки)

Есть строка введённая с клавиатуры пользователем, к примеру такая: "a+b+c", как создать динамические переменные, допустим типа int a, b, c?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.07.2014, 16:42
Ответы с готовыми решениями:

Динамическое создание переменных в классе
Кто знает, как сделать, чтобы переменные в классе создавались в зависимости от...

Динамическое выделение памяти для глобальных переменных
задача стоит такая: с датчика потоком идет информация, её необходимо сохранять...

Динамическое создание потоков
Задача поиска максимума в большом массиве данных. Для поиска использовать...

Динамическое создание матрицы
Как изменить код, чтобы ввод размерности матрицы был с клавиатуры? (Вести...

Динамическое создание матрицы
Как сделать ввод n и m с клавиатуры? (размер матрицы) #include "stdafx.h"...

8
Renji
2123 / 1561 / 476
Регистрация: 05.06.2014
Сообщений: 4,518
29.07.2014, 16:55 2
Есть строка введённая с клавиатуры пользователем, к примеру такая: "a+b+c", как создать динамические переменные, допустим типа int a, b, c?
C++
1
2
std::map<std::string,int>variables_map;
variables_map["a"]=3;
А чтоб доступ был как к обычным переменным (a=3), но имя и число переменных не известны на стадии компиляции - никак.
0
Troll
1 / 1 / 1
Регистрация: 25.03.2012
Сообщений: 19
29.07.2014, 16:58 3
как по мне просто не стоит себе усложнять жизнь. если три переменные с клавиатуры, то

C++
1
2
int x, b, c;
cin>>x>>b>>c;
0
2891535
0 / 0 / 0
Регистрация: 23.07.2014
Сообщений: 6
29.07.2014, 17:01  [ТС] 4
А если сделать динамический массив? и вот эти a, b, c будут элементами массива?

Добавлено через 47 секунд
в том то и дело что не понятно сколько будет переменных три, или больше
0
Renji
2123 / 1561 / 476
Регистрация: 05.06.2014
Сообщений: 4,518
29.07.2014, 17:03 5
А если сделать динамический массив? и вот эти a, b, c будут элементами массива?
Тогда их придется вытаскивать по индексу, а не по имени. Что для парсера не слишком удобно.
0
SatanaXIII
Почетный модератор
Эксперт С++
5774 / 2773 / 378
Регистрация: 01.11.2011
Сообщений: 6,749
Завершенные тесты: 1
30.07.2014, 16:25 6
Цитата Сообщение от 2891535 Посмотреть сообщение
в том то и дело что не понятно сколько будет переменных три, или больше
Если однотипные, то массив. Если разнотипные, то массив структур. Если вообще ничего не известно, то застрелишься.
0
aleks_tar
2 / 2 / 2
Регистрация: 19.06.2014
Сообщений: 17
30.07.2014, 19:07 7
Можно взять вектор и записывать все значения переменных в него и потом их всех складывать, к примеру. (код написал на коленке)

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
// вектор для переменных - простая динамическая структура данных
// можно взять любую другую, удобную для Вас структуру (std::list, к примеру)
std::vector variables; 
 
// значение текущей переменной
int value = 0;
 
 
while(...)
{
    // получение значения текущей переменной
    std::cin >> value;
    // добавление значения переменной в вектор (массив)
    variables.push_back(value);
}
 
// переменная для результата вычислений
int result = 0;
 
// вычисление результата
// в данном случае я вижу, что нужно делать сложение
for(int i = 0; i < variables.size(); ++i)
{
    result += variables.at(i);
}
0
Alexandr_1982
180 / 81 / 30
Регистрация: 04.11.2013
Сообщений: 413
Записей в блоге: 4
31.07.2014, 09:39 8
Недостаточно просто выделить память под указатель?
C++
1
int* a = new int[n];
0
aleks_tar
2 / 2 / 2
Регистрация: 19.06.2014
Сообщений: 17
31.07.2014, 09:42 9
Цитата Сообщение от Alexandr_1982 Посмотреть сообщение
Недостаточно просто выделить память под указатель?
Конечно, недостаточно. Память ещё нужно освободить после этого.
0
31.07.2014, 09:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.07.2014, 09:42

Динамическое создание массива
Помогите пожалуйста. Пытаюсь создать массив char* выделяя под него память...

Динамическое создание структуры
У меня есть h файл в котором описаны структуры. Можно ли его подключить к...

Динамическое создание файлов.
Очень нужен пример такой на С/С++ (поф,ибо у меня DEV-C++).Кто поможет ?:( ...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru