0 / 0 / 0
Регистрация: 23.11.2014
Сообщений: 18
|
||||||
1 | ||||||
Оптимизировать и минимализировать код24.11.2014, 17:31. Показов 1131. Ответов 13
Метки нет (Все метки)
Cделал легкую прогу. Понимаю логики 0 в коде. Можете помочь оптимизировать код? А заодно и сделать код более минималистичным.
0
|
24.11.2014, 17:31 | |
Ответы с готовыми решениями:
13
Оптимизировать код Оптимизировать код Оптимизировать код Оптимизировать код |
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
|
24.11.2014, 17:39 | 2 |
0
|
0 / 0 / 0
Регистрация: 23.11.2014
Сообщений: 18
|
|
24.11.2014, 17:49 [ТС] | 3 |
Препод сказал. А сам я не вижу как это оптимизировать и сделать минималистичным.
Добавлено через 6 минут Никто не поможет?
0
|
Заблокирован
|
|
24.11.2014, 18:04 | 5 |
justgamermax,
C++ int a; int z = 33; int x = 0; C++ int a, z = 33, x = 0; justgamermax, еще можете убрать строку: C++ using namespace std; C++ std::cout << "Угадай число" << std::endl;
0
|
0 / 0 / 0
Регистрация: 23.11.2014
Сообщений: 18
|
|
24.11.2014, 18:08 [ТС] | 7 |
MrGluck, можете написать этот же код не в одну строчку?...Читать адски тяжело.
0
|
Заблокирован
|
|
24.11.2014, 18:22 | 8 |
На моей винде такие команды не поддерживаются, русский язык у меня включается так:
C++ // #include <windows.h> // не нужно! setlocale(0, "Russian"); Добавлено через 9 минут justgamermax, еще можете убрать int a и int x в main() чтобы съэкономить немножко места в самом майне: C++ int main(int a, int x) { // ... }
0
|
15 / 15 / 8
Регистрация: 30.03.2014
Сообщений: 75
|
||||||
24.11.2014, 18:22 | 9 | |||||
Удалить переменную х и изменить цикл
0
|
Заблокирован
|
||||||
24.11.2014, 18:27 | 10 | |||||
justgamermax, функция int main() всегда должна возвращать целое число типа int, например:
C++ #include <stdio.h> #include <locale.h> int main(int a) { setlocale(0, "Russian"); int z = 33; printf( "Угадай число:\n" ); while ( 1 ) { scanf("%d", &a); if (a > z) { printf( "Много\n" ); } else if (a < z) { printf( "Мало\n" ); } else { printf( "Ты выиграл\n" ); break; } } return 0; }
0
|
19409 / 10028 / 2443
Регистрация: 30.01.2014
Сообщений: 17,678
|
|
24.11.2014, 18:35 | 11 |
Неизвестно знал ли ТС об этом или нет, но написание main в таком виде как у него является корректным с точки зрения спецификации языка. Специально для main существует отдельное правило, которое подразумевает return 0; при отсутствии оператора return в конце main, см. 3.6.1/5.
0
|
Заблокирован
|
|
24.11.2014, 18:45 | 12 |
justgamermax, чтобы еще сократить, можно заменить while на for, всеравно после цикла ваши переменные нигде не используются:
C++ #include <stdio.h> #include <locale.h> int main() { setlocale(0, "Russian"); printf( "Угадай число:\n" ); for ( int z = 33, a = 0; a != z; ) { scanf("%d", &a); if (a > z) { printf( "Много\n" ); } else if (a < z) { printf( "Мало\n" ); } else { printf( "Ты выиграл\n" ); } } return 0; }
0
|
19409 / 10028 / 2443
Регистрация: 30.01.2014
Сообщений: 17,678
|
|||||||||||
24.11.2014, 19:23 | 13 | ||||||||||
Сообщение было отмечено justgamermax как решение
РешениеНе по теме: Нет, это не зависит от компилятора. Это распространяется на все компиляторы, которые претендуют на поддержку С++. Добавлено через 34 минуты justgamermax, Вот такой вариант:
В случая совпадения, будет одно сравнение. В твоем варианте 3 сравнения, если мы угадали. Твой алгоритм лучше себя ведет только в случае, если мы всегда выбираем больше, чем нужно, однако всегда присутствует проверка в цикле, что снижает этот эффект до нуля. Примерно в этом направлении (алгоритмической оптимизации) и надо двигаться в первую очередь. PS. Экономить строчки, переносить переменные туда-сюда не нужно. Это ничего не даст в практическом смысле. PS2. Скорее всего, нормальный компилятор даже первоначальный вариант смог бы оптимизировать в более быстрый.
0
|
Форумчанин
8216 / 5046 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|
27.11.2014, 20:46 | 14 |
Максимально соответствует идиотскому требованию препода. У вас вполне нормальный код в шапке темы. Ваш препод объяснил как пользоваться инструментами для профилирования? Нет? Тогда о какой оптимизации может идти речь, если замерить время выполнения нечем? Вполне вероятно, что код в первом посте компилятор сможет легче оптимизировать чем тот, который у меня или авторов ниже.
Сокращать буквы - бессмысленно в вашем коде, вас учат не тому.
0
|
27.11.2014, 20:46 | |
27.11.2014, 20:46 | |
Помогаю со студенческими работами здесь
14
Как оптимизировать код? Исправить и оптимизировать код Нужно оптимизировать код Как оптимизировать код? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |