Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
Заблокирован

Можно ли написать более оптимальный код, используя цикл while?

27.07.2015, 23:16. Показов 2092. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
собственно сабж.
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
26
27
28
29
30
31
32
#include <iostream>
 
using namespace std;
 
int main()
{
    int x, y, s, step = 1;
 
    cout << "Vvedite x" << endl;
    cin >> x;
    cout << "Vvedite y" << endl;
    cin >> y;
 
    if (y == 0)
    {
        cout << "S ravno 0" << endl;
    }
 
 
    if (y >= 1)
    {
        s = x;
        while (step < y )
        {
        s *= x;
        step ++;
        }
    cout << "x v stepeni y = " << s;
    }
 
    return 0;
}
если есть более простые варианты, хотелось бы их увидеть
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.07.2015, 23:16
Ответы с готовыми решениями:

Можно ли написать более оптимальный или простой код, используя цикл for?
собственно сабж. #include &lt;iostream&gt; using namespace std; int main() { int sum, count, ost; for (count = 0;...

Можно ли написать этот код более компактно?
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; void main() { int x, y; cout &lt;&lt; &quot;input x = &quot;; cin &gt;&gt; x; cout...

Может ли человек порождать более оптимальный pure javaScript-код, чем TypeScript?
Доброе утро! Можем ли мы вручную порождать более оптимальный и красивый код, нежели TypeScript? Заранее благодарен за отклики.

29
28.07.2015, 23:27
Студворк — интернет-сервис помощи студентам

Не по теме:

Цитата Сообщение от _Ivana Посмотреть сообщение
Зря вы от хаскеля отвернулись
Да ни от чего я не отворачивался! Просто у меня всего 4 лапы + 1 хвост + 1 пасть, которая жрать хочет.:D

0
28.07.2015, 23:35

Не по теме:

Цитата Сообщение от Байт Посмотреть сообщение
+ 1 пасть, которая жрать хочет
:popcorn:

0
Заблокирован
29.07.2015, 16:52  [ТС]
Цитата Сообщение от Renji Посмотреть сообщение
Ну, если гоняться именно за оптимальностью (а не простотой):
а если за простотой?
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
30.07.2015, 10:39
Цитата Сообщение от rep plz Посмотреть сообщение
а если за простотой?
Пост 6 чем-то не устраивает?
0
Заблокирован
30.07.2015, 12:26  [ТС]
Цитата Сообщение от Байт Посмотреть сообщение
Пост 6 чем-то не устраивает?
меня устраивает. но хочется вариантов просто я не исключаю возможности что опытные программисты могут упростить еще и его
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
30.07.2015, 17:29
Цитата Сообщение от rep plz Посмотреть сообщение
просто я не исключаю возможности что опытные программисты могут упростить еще и его
скорее всего, это будет выглядеть так:
C++
1
s = std::pow ( x , y ) ;
2
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
30.07.2015, 23:17
Цитата Сообщение от rep plz Посмотреть сообщение
я не исключаю возможности что опытные программисты могут упростить еще и его
Странно искать упрощений в ситуации, когда некоторые естественные приемы (например, цикл for) по каким-то неведомым причинам запрещены.
И еще вопрос. А зачем оно вам?
И еще. Какие ваши критерии "простоты"?
0
30.07.2015, 23:27

Не по теме:

подпись особенно понравилась :D

0
Заблокирован
31.07.2015, 07:36  [ТС]
Цитата Сообщение от Байт Посмотреть сообщение
Странно искать упрощений в ситуации, когда некоторые естественные приемы (например, цикл for) по каким-то неведомым причинам запрещены.
для вас может быть странно. для меня нет.
Цитата Сообщение от Байт Посмотреть сообщение
И еще вопрос. А зачем оно вам?
я учусь. и единственный кто может мне объяснить что я делаю так, а что нет, это вы. и если я не задам какого-либо вопроса, не спрошу о чем-то, возможно я никогда об этом не узнаю.
Цитата Сообщение от Байт Посмотреть сообщение
И еще. Какие ваши критерии "простоты"?
я не буду озвучивать свои критерии простоты. могу лишь повториться - я просто учусь

Добавлено через 4 минуты
Байт, спросите себя, как бы вы поступили на месте новичка, если бы хотели знать что программисты считают более простым способом, а что более сложным? а что более оптимальным?
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
31.07.2015, 07:55
rep plz, while вместо for нужен на паскале из-за того, что там счётчик цикла может только увеличиваться/уменьшаться строго на 1. for на c/c++ - оператор цикла вообще не со счётчиком, а с величиной, произвольно изменяемой в заголовке цикла и управляющей циклом, его гибкость позволяет полностью заменить while, которому остаются ровно три роли:
1. Цикл с условием выхода в теле. Прерывается оператором break.
2. Цикл с условием, зависящим только от величин, меняющихся только вне самого цикла. Прерывается путём изменения неких величин в другом потоке (возможно даже принадлежащем другому процессу), или при обработке прерывания, или исключения.
3. Бесконечный цикл. Если и прерывается, то только при снятии процесса, или выключении всего компьютера.
На c/c++ for и в этих случаях может заменить while, но в этих случаях он проигрывает по удобству, да и просто лучше соответствует формулировке задачи. В остальных же случаях удобней for, даже в тех, когда условие выхода из цикла сложней, чем сравнение величины с ограничением, для чего вообще то тоже предназначен while, а не for, но на c/c++ for даже в этих случаях применяется вместо while удобнее, чем сам while. Не говоря уж об аддитивных счётчиках с не единичным шагом, аддитивных счётчиках с переменным шагом, или мультипликативных счётчиках.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.07.2015, 07:55
Помогаю со студенческими работами здесь

как можно более просто написать эту программку(более понятным языком для начинающего)
7. Установить, четным или нечетным является число цифр в записи данного натурального числа. Если число цифр нечетно, вывести среднюю цифру....

Изменить код, используя цикл
Помогите разобраться с циклом, Есть код, его надо изменить под циклический, как сделать х3, помогите пожалуйста. #include...

Оптимизировать код, используя цикл
k = -a(1, 1) / a(2, 1) For i = 1 To 3 a(2, i) = a(2, i) * k + a(1, i) Next i b(2) = b(2) * k...

Переписать код, используя другой цикл
Перепишите, пожалуйста, код, используя только цикл &quot;While&quot; int N=100; cout &lt;&lt; setw(7) &lt;&lt; &quot;Katet_1&quot; &lt;&lt; setw(15) &lt;&lt;...

Можно ли инициализировать динамический массив не используя цикл?
Когда создавали статический массив, можно было сделать так: int array={1,5,14,23,32,45,67}; Можно ли такое же сделать с динамическим...


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
Модель здравосохранения 17. Планы на выгорание
anaschu 23.05.2026
Вот конкретная схема реализации: В классе Работник добавить: накопленнаяУсталость — растёт каждый час работы, снижается в перерывы и болезни коэффициентПрезентеизма — снижает продуктивность. . .
Изменение цветов в палитре gif файла aka фавикона
russiannick 23.05.2026
Изменение цветов в палитре gif файла, юзаемого как фавиконка в составе html-файла, помещенная в base64, средствами нативного Java Script, навеянное сном в майский день. Для работы необходим браузер,. . .
Модель здравосохранения 16. Слишком хорошие и здоровые сотрудники уходят, недовольные зарплатой
anaschu 23.05.2026
Отладка увольнений и настройка производительности Сегодня во второй половине дня разобрались с механикой увольнений и настроили коэффициент сложности заданий. Вот что было сделано. . . .
Как я стал коммунистом))) Модель сохранения здоровья сотрудников, запись блога номер 15
anaschu 23.05.2026
Внезапно хорошее здоровье сотрудников не нужно капиталистам?))
Модель здравоСохранения 15. Как мы чинили AnyLogic модель рабочего коллектива: сочленение диаграммы состояний болезней и поломок в ресурспул
anaschu 23.05.2026
Как мы чинили AnyLogic модель рабочего коллектива Сегодня разобрались с пятью багами, из-за которых модель либо падала с ошибкой, либо давала совершенно бессмысленные результаты. Каждый баг был. . .
Диалоги с ИИ
zorxor 23.05.2026
Насколько я понимаю - Вы - Искусственный Интеллект. Это так? Да, всё верно. Я — искусственный интеллект. Я представляю собой большую языковую модель, созданную для помощи в самых разных задачах. . . .
Модель здравосохранения 14. Собираем всю модель вместе.
anaschu 22.05.2026
Модель собрана. В будущих постах на видео я покажу, как она работает. В этом посте запускаем её, проверяем результаты и разбираем что можно с ней делать дальше. Перед запуском проверяем. . .
Модель здравоохранения 13. Добавление самой системы здравоохранения.
anaschu 22.05.2026
В предыдущем посте мы настроили болезни. Теперь добавим события, которые управляют здоровьем всего коллектива, а также настроим рабочий график и расчёт финансов. В Main создаём четыре события. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru