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

Изменение имен переменных в зависимости от шага цикла - C++

Восстановить пароль Регистрация
 
almostclever
1 / 1 / 0
Регистрация: 04.03.2012
Сообщений: 101
18.05.2012, 14:01     Изменение имен переменных в зависимости от шага цикла #1
Всем привет.
Помогите, если такое возможно, как изменять имена переменных в зависимости от шага цикла.
есть к к примеру вот такие массивы:
C
1
2
3
4
5
size=5;
int s10[10];
int s50[50];
int s100[100];
...........
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
for (k=0;k<7;k++)
{
    if(k%2)
    {
           size=size*5;
    }
    else
    {
           size=size*2;
    }
    if(k==0)
    printf("Размер массива: %d\n",size);
    else
    printf("\n\nРазмер массива: %d\n",size);
size будет равен 10,50,100...
C
1
2
3
4
5
6
7
8
9
10
if(size[k])
{
for(d=0;d<10;d++)
{                             
for(i=0;i<size[k];i++)
{             
s***[i]=rand()%10;
}
}
}
вот вместо *** надо чтобы было 10 50 100...
Чтобы при size=10 заполнялся массив s10 при 50 s50 и так далее
как это сделать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2012, 14:01     Изменение имен переменных в зависимости от шага цикла
Посмотрите здесь:

C++ Счётчик двойного цикла, без дополнительных переменных
C++ Ошибка повторения имен переменных при использовании глобальной переменной
"Автозаполнение" имен типов/функций/переменных C++
C++ русские символы в качестве имен переменных
C++ Автоматическое изменение префикса телефонного номера в зависимости от страны. Класс Person.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Catstail
Модератор
 Аватар для Catstail
21451 / 10236 / 1667
Регистрация: 12.02.2012
Сообщений: 17,108
18.05.2012, 14:10     Изменение имен переменных в зависимости от шага цикла #2
Сделать с помощью if или swith... Но не лучше ли использовать динамический массив нужного размера?

C++
1
int Arr[] = new int[N]; ...
almostclever
1 / 1 / 0
Регистрация: 04.03.2012
Сообщений: 101
18.05.2012, 14:13  [ТС]     Изменение имен переменных в зависимости от шага цикла #3
Дело в том, что нужно именно имена изменять, так как заполнение массива это не единственная задача, там еще много переменных однотипных, у которых отличаются лишь цифры (10,50,100...)
Catstail
Модератор
 Аватар для Catstail
21451 / 10236 / 1667
Регистрация: 12.02.2012
Сообщений: 17,108
18.05.2012, 15:05     Изменение имен переменных в зависимости от шага цикла #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
switch (size)
{
  case 10:
      s10[..]=..;
      break;
 
  case 50:
      s50[..]=..;
      break;
 
  case 100:
      s100[..]=..;
      break;
 
}
almostclever
1 / 1 / 0
Регистрация: 04.03.2012
Сообщений: 101
18.05.2012, 15:49  [ТС]     Изменение имен переменных в зависимости от шага цикла #5
У меня примерно так и реализовано, но это громоздко , вот если бы получилось изменять имена, то код бы сократился в 7 раз. Неужели это невозможно?(

Добавлено через 31 минуту
Написал функцию, так что уже не актуально.
Но все равно интересно, можно ли так сделать в си, в пхп это вообще легко.
Catstail
Модератор
 Аватар для Catstail
21451 / 10236 / 1667
Регистрация: 12.02.2012
Сообщений: 17,108
18.05.2012, 16:03     Изменение имен переменных в зависимости от шага цикла #6
В С/C++ это точно невозможно (т.к. C/С++) - компилируемые языки.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.05.2012, 16:05     Изменение имен переменных в зависимости от шага цикла
Еще ссылки по теме:

Изменение цвета точки в зависимости от значения температуры C++
C++ Изменение значений переменных из родительского в классе наследника
Нужно изменить class human под изменение строк/переменных в ходе использования C++

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

Или воспользуйтесь поиском по форуму:
almostclever
1 / 1 / 0
Регистрация: 04.03.2012
Сообщений: 101
18.05.2012, 16:05  [ТС]     Изменение имен переменных в зависимости от шага цикла #7
Ну я так и думал, спасибо.
Yandex
Объявления
18.05.2012, 16:05     Изменение имен переменных в зависимости от шага цикла
Ответ Создать тему
Опции темы

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