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

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

Восстановить пароль Регистрация
 
 
rep plz
Заблокирован
27.07.2015, 23:16     Можно ли написать более оптимальный код, используя цикл while? #1
собственно сабж.
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;
}
если есть более простые варианты, хотелось бы их увидеть
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.07.2015, 23:16     Можно ли написать более оптимальный код, используя цикл while?
Посмотрите здесь:

как можно более просто написать эту программку(более понятным языком для начинающего) C++
C++ написать программу, которая выводит на экран оценку при введении количества баллов не используя цикл
C++ Какой вариант более оптимальный?
Написать, используя цикл for, ввод с клавиатуры 10 чисел C++
Написать код для флага РФ, используя только атрибуты C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Байт
28.07.2015, 23:27     Можно ли написать более оптимальный код, используя цикл while?
  #21

Не по теме:

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
28.07.2015, 23:35
  #22

Не по теме:

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

rep plz
Заблокирован
29.07.2015, 16:52  [ТС]     Можно ли написать более оптимальный код, используя цикл while? #23
Цитата Сообщение от Renji Посмотреть сообщение
Ну, если гоняться именно за оптимальностью (а не простотой):
а если за простотой?
Байт
 Аватар для Байт
13955 / 8786 / 1222
Регистрация: 24.12.2010
Сообщений: 15,913
30.07.2015, 10:39     Можно ли написать более оптимальный код, используя цикл while? #24
Цитата Сообщение от rep plz Посмотреть сообщение
а если за простотой?
Пост 6 чем-то не устраивает?
rep plz
Заблокирован
30.07.2015, 12:26  [ТС]     Можно ли написать более оптимальный код, используя цикл while? #25
Цитата Сообщение от Байт Посмотреть сообщение
Пост 6 чем-то не устраивает?
меня устраивает. но хочется вариантов просто я не исключаю возможности что опытные программисты могут упростить еще и его
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11817 / 6796 / 769
Регистрация: 27.09.2012
Сообщений: 16,867
Записей в блоге: 2
Завершенные тесты: 1
30.07.2015, 17:29     Можно ли написать более оптимальный код, используя цикл while? #26
Цитата Сообщение от rep plz Посмотреть сообщение
просто я не исключаю возможности что опытные программисты могут упростить еще и его
скорее всего, это будет выглядеть так:
C++
1
s = std::pow ( x , y ) ;
Байт
 Аватар для Байт
13955 / 8786 / 1222
Регистрация: 24.12.2010
Сообщений: 15,913
30.07.2015, 23:17     Можно ли написать более оптимальный код, используя цикл while? #27
Цитата Сообщение от rep plz Посмотреть сообщение
я не исключаю возможности что опытные программисты могут упростить еще и его
Странно искать упрощений в ситуации, когда некоторые естественные приемы (например, цикл for) по каким-то неведомым причинам запрещены.
И еще вопрос. А зачем оно вам?
И еще. Какие ваши критерии "простоты"?
_Ivana
30.07.2015, 23:27
  #28

Не по теме:

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

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

Добавлено через 4 минуты
Байт, спросите себя, как бы вы поступили на месте новичка, если бы хотели знать что программисты считают более простым способом, а что более сложным? а что более оптимальным?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.07.2015, 07:55     Можно ли написать более оптимальный код, используя цикл while?
Еще ссылки по теме:

Как можно записать код в более компактном виде? C++
Можно ли инициализировать динамический массив не используя цикл? C++
Можно ли написать этот код более компактно? C++

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

Или воспользуйтесь поиском по форуму:
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
31.07.2015, 07:55     Можно ли написать более оптимальный код, используя цикл while? #30
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. Не говоря уж об аддитивных счётчиках с не единичным шагом, аддитивных счётчиках с переменным шагом, или мультипликативных счётчиках.
Yandex
Объявления
31.07.2015, 07:55     Можно ли написать более оптимальный код, используя цикл while?
Ответ Создать тему
Опции темы

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