Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.62
AleshaOleg
0 / 0 / 0
Регистрация: 28.08.2012
Сообщений: 14
#1

Возведение в степень - C++

02.10.2013, 12:52. Просмотров 1809. Ответов 20
Метки нет (Все метки)

Вот есть программа, работает только, для положительной степени. Помогите разобрать что не так? pow не предлагать!

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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
    int x, y, res = 1;
    cout << "Enter digits x, y:" << endl;
    cin >> x;
    cin >> y;
    if (x==0)
    {
        cout << "0" << endl;
    }
    else
    {
        if (x==1) 
        {
            cout << "1" << endl;
        }
        else
        {
            if (y==0) 
            {
                cout << "1" << endl;
            }
            else 
            {
                if (y<0)
                {
                    res = 1/res;
                }
                else 
                {
                    int i=1;
                    do
                    {
                        res=res*x;
                        ++i;
                    }
                    while (i<=y);
                    cout << res << endl;
                }
            }
        }
    }
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.10.2013, 12:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Возведение в степень (C++):

Возведение в степень - C++
Почему, когда я пытаюсь возвести в квадрат x с типом int, то получается 24, а когда с типом double, то все хорошо и получается 25? ...

Возведение в степень - C++
напишите программный код для С++ Builder

Возведение в степень - C++
Срочно, помогите записать выражение cos^4(x)

Возведение в степень - C++
Дано число n и его нужно возвести в степень s. Можно ли это как-то сделать не используя циклы. Заранее спасибо...

Возведение в степень - C++
Подскажите оператор для возведения числа в n-ую степень. Зарание спасиба

Возведение a в степень b - C++
Пользователь вводит числа а и b, программа считает &quot;а&quot; в степени &quot;b&quot;. Помогите написать код

20
newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 555
02.10.2013, 18:57 #16
Цитата Сообщение от AleshaOleg Посмотреть сообщение
Вот переписал Действительно Зачем столько условий
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()
{
    double x; 
    int y, i=0;;
    cout << "Enter digits x, y:" << endl;
    cin >> x;
    cin >> y;
    double res = 1;
    if (y<0)
    {
       do
        {
            res*=1/x;
            ++i;
        }
        while (i<(abs(y)));
    }
    else
    {
        do
        {
            res=res*x;
            ++i;
        }
        while (i<y);
    }
    cout << res << endl;
    system("pause");
    return 0;
}
1
AleshaOleg
0 / 0 / 0
Регистрация: 28.08.2012
Сообщений: 14
02.10.2013, 19:03  [ТС] #17
Цитата Сообщение от newb_programmer Посмотреть сообщение
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()
{
    double x; 
    int y, i=0;;
    cout << "Enter digits x, y:" << endl;
    cin >> x;
    cin >> y;
    double res = 1;
    if (y<0)
    {
       do
        {
            res*=1/x;
            ++i;
        }
        while (i<(abs(y)));
    }
    else
    {
        do
        {
            res=res*x;
            ++i;
        }
        while (i<y);
    }
    cout << res << endl;
    system("pause");
    return 0;
}
не работает ведь.
0
newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 555
02.10.2013, 19:06 #18
Цитата Сообщение от AleshaOleg Посмотреть сообщение
не работает ведь.
у меня все работает! пишите конкретно что у вас-не компилируется или ошибка вылетает, или некорректные данные (если да то какие вы вводите и что выводит!)
я особо много не тестил...только 2,3 и 2,-3
0
AleshaOleg
0 / 0 / 0
Регистрация: 28.08.2012
Сообщений: 14
02.10.2013, 19:11  [ТС] #19
Цитата Сообщение от newb_programmer Посмотреть сообщение
у меня все работает! пишите конкретно что у вас-не компилируется или ошибка вылетает, или некорректные данные (если да то какие вы вводите и что выводит!)
я особо много не тестил...только 2,3 и 2,-3
fatal error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "StdAfx.h"" в источник. Вот такая ошибка.

Добавлено через 1 минуту
Цитата Сообщение от AleshaOleg Посмотреть сообщение
fatal error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "StdAfx.h"" в источник. Вот такая ошибка.
Добавил #include "StdAfx.h". Теперь ошибка fatal error LNK1168: не удается открыть D:\Программирование\C++\involution\Debug\involution.exe для записи.
0
newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 555
02.10.2013, 19:12 #20
Цитата Сообщение от AleshaOleg Посмотреть сообщение
fatal error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "StdAfx.h"" в источник. Вот такая ошибка.
я поудалял из вашей программы, у меня с ними не запускалось- верните вот эти строки
C++
1
2
3
#include "stdafx.h"
...
int _tmain(int argc, _TCHAR* argv[])//вместо int main() {
должно помочь, если нет создайте новый проект и скопируйте в него все что находится в
C++
1
2
3
int main(){
...
}
0
AleshaOleg
0 / 0 / 0
Регистрация: 28.08.2012
Сообщений: 14
02.10.2013, 19:15  [ТС] #21
Цитата Сообщение от newb_programmer Посмотреть сообщение
я поудалял из вашей программы, у меня с ними не запускалось- верните вот эти строки
C++
1
2
3
#include "stdafx.h"
...
int _tmain(int argc, _TCHAR* argv[])//вместо int main() {
должно помочь, если нет создайте новый проект и скопируйте все что находится в
C++
1
2
3
int main(){
...
}
Теперь fatal error LNK1168: не удается открыть D:\Программирование\C++\involution\Debug\involution.exe для записи

Добавлено через 1 минуту
Цитата Сообщение от newb_programmer Посмотреть сообщение
я поудалял из вашей программы, у меня с ними не запускалось- верните вот эти строки
C++
1
2
3
#include "stdafx.h"
...
int _tmain(int argc, _TCHAR* argv[])//вместо int main() {
должно помочь, если нет создайте новый проект и скопируйте в него все что находится в
C++
1
2
3
int main(){
...
}
Разобрался с последней ошибкой самостоятельно, спасибо. Сейчас буду разбирать что там написано у вас
0
02.10.2013, 19:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2013, 19:15
Привет! Вот еще темы с ответами:

Возведение в степень - C++
Совсем недавно начал изучать C++. Учу по книге. Было задание: Вводишь число Вводишь степень в которую надо возвести это число ...

Возведение в степень! - C++
Возник вопрос - Возможно пока не понятна в чем мысль! Попробую на примере объяснить! Возведение числа 2 в 1000 - ую степень будет...

возведение в степень! - C++
Кто помнит функцию возведения в степень.?? &quot;трам-пам-пам&quot; (a,b) ???? Добавлено через 3 минуты И еще желательно...

Возведение в степень. C++ - C++
можно ли написать программу для возведения в вводимую степень вводимого числа с помощью рекурсивной функции


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

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

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