Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
m4r1kk
2 / 2 / 1
Регистрация: 12.10.2012
Сообщений: 43
#1

Как сократить запись? - C++

28.06.2013, 07:16. Просмотров 365. Ответов 5
Метки нет (Все метки)

Всем привет! Пишу ASCII-игру и вот такой вопросик по коду:
C++
1
2
3
4
5
6
7
8
9
10
 while(brk) play(level1);
 brk = 1;
 while(brk) play(level2);
 brk = 1;
 while(brk) play(level3);
 brk = 1;
 while(brk) play(level4);
 brk = 1;
 while(brk) play(level5);
 brk = 1;
Как можно сократить запись этого фрагмента кода?

Спасибо за ответы!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.06.2013, 07:16
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как сократить запись? (C++):

Как сократить запись?
Здравствуйте, дорогие форумчане! Имеется вот такой код: for(int i = 0; i...

Как сократить запись при инициализации статических переменных?
Добрый день. Есть в шаблонном классе набор non-const статических переменных,...

Как сократить до инициалов?
Нужно сократить например Фамилия Имя Отчество до Фамилия И. О. Пожалуйста,...

Корбен_Даллас-- //Как сократить текст пр-мы?)))
Здравствуйте) Подозреваю о существовании указателей, но нигде не могу найти...

Путь к файлу, как сократить?
Добрый день, Поисковик ответа не дал. Необходимо создать файл в папке,...

Как можно сократить массив?
Как можно сократить масив? К примеру есть масив: A =...

5
AntonChik
1085 / 583 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
28.06.2013, 07:56 #2
какой тип у level1...5 ?
0
anmartex
...
1709 / 1202 / 909
Регистрация: 12.02.2013
Сообщений: 1,978
28.06.2013, 07:57 #3
Что-то вроде этого:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
const CLevelsCount = 5;
TMyLevel level[CLevelsCount];
 
// ...
 
for (i = 0; i < CLevelsCount; ++i)
{
    brk = 1;
    while (brk)
    {
        play(level[i]);
    }
}
 
// ...
2
m4r1kk
2 / 2 / 1
Регистрация: 12.10.2012
Сообщений: 43
28.06.2013, 08:24  [ТС] #4
const int c = 13, r = 16;
char level1[c][r] = {//матрица};
0
AntonChik
1085 / 583 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
28.06.2013, 08:33 #5
на лицо ошибка проектирования.
неправильно под каждый уровень заводить отдельную матрицу, храните массивы в файлах и подгружайте по надобности.
или бы уж делали массив матриц, чтоб индекс не в имени висел, а был в пользовании.т.е.
C++
1
char*** level[1][c][r] = {...} //и т.д.
а так ничего хорошего оптимизировать не получится.
разве что запихать эти статичные массивы в один динамический и уже тогда гонять циклы.
это примерно как написал anmartex, но в данном случае это может стать лишними затратами.
1
m4r1kk
2 / 2 / 1
Регистрация: 12.10.2012
Сообщений: 43
28.06.2013, 08:55  [ТС] #6
Ни хрена не понел из выше сказанного... Но все таки спасибо)

Добавлено через 5 минут
Хотя нет, сейчас дошло =) Спасибо AntonChik и anmartex...
0
28.06.2013, 08:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.06.2013, 08:55
Привет! Вот еще темы с решениями:

как можно ещё сократить код?
#include&lt;iostream&gt; main(){ int n; std::cin&gt;&gt;n;...

Как сократить время работы программы?!
Нужно сократить время работы программы по вычислению чисел Фибоначчи: Вот мой...

Поделитесь советом. Как сократить еще 1 символ. =)
c&gt;&gt;a; a--; while(g+=a&amp;1, a/=2); o&lt;&lt;g%3; Подскажите, пожалуйста,...

Можно ли как-то сократить объявления using в начале программы?
Запариля уже объявлять каждый раз в таком роде... using std::cin; using...


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

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

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