Другие языки программирования и технологии

Вопрос по программированию С++

Точнее вопрос не по программированию а о том как можно быстро отсортировать ячейки по цифрам

Например дан огромный переключатель switch с цифрами которые идут не по порядку.

switch (условие)
{
case 424:
{
значение параметра
}
case 232:
{
значение параметра
}
case 6547:
{
значение параметра
}
case 4324:
{
значение параметра
}
case 4:
{
значение параметра
}
}

А нужно сделать вот так:

switch (условие)
{
case 0:
{
значение параметра
}
case 1:
{
значение параметра
}
case 2:
{
значение параметра
}
case 3:
{
значение параметра
}
case 4:
{
значение параметра
}
}

Ячеек очень много, для примера лишь привел. Кроме ручного переименования есть способы? Знаю что есть, так что признавайтесь xd
zOMG!!111
0. Программы правятся - о ужас! - вручную. Неожиданно, правда?
1. Оператор switch ничего не возвращает, значение параметра будет потеряно.
2. Даже если "значение параметра" означает "выставление параметра", то все равно сработает только последний case - там ни одного break нету.
3. Человека, расставляющего case-ы не по порядку, в древнем Риме скармливали львам, в средневековой Румынии сажали на кол, а на Руси сплавляли под лед. Так же популярны были разорвание конями, колесование, тысяча порезов.. .
4. Если все, что делает этот switch - выставление параметра, то значительно логичнее написать примерно так:
int parameter_values[]={значение параметра, значение параметра, значение параметра,... };
...
параметр=parameter_values[условие] ;
--
1. Не знаю, конечно. Но сокращать надо без потери смысла. Написали бы вместо "значение параметра" - "код" или "установка параметра", было бы понятнее.
2. Все - не обязательно, но один блок для примера можно было бы привести.
3. Однако руки бы вырывал - все равно, что им в жопе делать?
4. Жаль. Тогда есть математика и ООП, тоже помогают case-ов избегать.
А ответ в п. 0...
Михаил Щербаков
Михаил Щербаков
82 463
Лучший ответ
Лично я про такую фичу не знаю, правда можно самому написать прогу которая, скажем, при помощи регулярок всё это переставлять будет.
Несложно привести к регулярному виду. А именно составить табличку test -параметр, обратившись к этому блоку программно, далее отсортировать по test и ву-а ля, готово! И конечно, вместо этого изврата использовать массив.
Но для "эстетов" можно и к case привести)).
Владимир Бриз
Владимир Бриз
35 996
Нету. Я серьёзно.
А у "значений" есть некая зависимость? Можно было бы випилить это извращение и загнуть всё в цикл.