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

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

Войти
Регистрация
Восстановить пароль
 
gylayko
30 / 29 / 4
Регистрация: 28.09.2011
Сообщений: 448
#1

ноль в результате - C++

23.03.2012, 16:28. Просмотров 334. Ответов 9
Метки нет (Все метки)

нужно просто вычислить степень
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
void main()
{float x, y;
clrscr();
printf("chislo\n");
scanf("%d",x);
printf("stepen\n");
scanf("%d",y);
printf("\nchislo=%d",pow(x,y));
getch();
}
в результате получается просто ноль! но не может же так быть. что я не так делаю?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2012, 16:28     ноль в результате
Посмотрите здесь:

Получить число М из цифр N1 и N2 в результате операций C++
Не совсем понятно, почему в результате выдает 0 C++
dynamic_cast<X&>(Y) что в результате? C++
C++ бред в результате
Найти площадь фигуры, получающейся в результате объединения прямоугольников C++
C++ В результате ввода переменной int присваивается символ
Проблемы в результате работы программы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sandye51
программист С++
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
23.03.2012, 16:29     ноль в результате #2
gylayko, вместо %d надо %f
http://www.cplusplus.com/reference/c...cstdio/printf/
gylayko
30 / 29 / 4
Регистрация: 28.09.2011
Сообщений: 448
23.03.2012, 16:39  [ТС]     ноль в результате #3
и вот что в итоге Название: итог.png
Просмотров: 32

Размер: 2.5 Кб
CLOH
5 / 5 / 3
Регистрация: 30.12.2010
Сообщений: 40
23.03.2012, 16:54     ноль в результате #4
должно быть так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
void main()
{
   float x, y;
   clrscr();
   printf("chislo\n");
   scanf("%f",&x);
   printf("stepen\n");
   scanf("%f",&y);
   printf("\nchislo=%f",pow(x,y));
   getch();
}
ты в scanf пропустил знак &, и вместо %d надо %f.
gylayko
30 / 29 / 4
Регистрация: 28.09.2011
Сообщений: 448
23.03.2012, 17:03  [ТС]     ноль в результате #5
спасибо! а мне еще нужно с помощью функции сделать то же самое, вот что уже написал:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <conio.h>
#include <math.h>
float stepen (float b, float a)
{
 float result;
 result=pow(a-3,b);
 return result;
}
void main()
{clrscr();
    int chislo, step;
    printf(" 1-stepin \n");
    printf("Vvedite chislo\n ");
    scanf("%f",&chislo);
    printf("\nvvedite stepen");
    scanf("%f",&step);
    printf("chislo = %f",stepen(chislo,step));
getch();
}
но в результате то же самое (что на картинке)! что ту не так?
CLOH
5 / 5 / 3
Регистрация: 30.12.2010
Сообщений: 40
23.03.2012, 17:13     ноль в результате #6
а что она делает?
gylayko
30 / 29 / 4
Регистрация: 28.09.2011
Сообщений: 448
23.03.2012, 17:18  [ТС]     ноль в результате #7
должна степень извлекать. лучше даже не использовать функцию pow, а сделать это в цикле
for (i=1;i>step;i++)
{chislo=chislo*chislo;}
но я так делал, то же самое или в результате ноль! поможете?
Hemull
47 / 47 / 1
Регистрация: 12.03.2012
Сообщений: 108
23.03.2012, 17:29     ноль в результате #8
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <conio.h>
#include <math.h>
float stepen (float b, float a)
{
    float result=1;
    for (int i = 1; i <= a; i++)
    {
        result = result*b;
    }
    return result;
}
void main()
{clrscr();
float chislo, step;
printf(" 1-stepin \n");
printf("Vvedite chislo\n ");
scanf("%f",&chislo);
printf("\nvvedite stepen");
scanf("%f",&step);
printf("chislo = %f",stepen(chislo,step));
getch();
}
zss
Модератор
Эксперт С++
6188 / 5791 / 1875
Регистрация: 18.12.2011
Сообщений: 14,797
Завершенные тесты: 1
23.03.2012, 17:36     ноль в результате #9
Так возводить можно только в целую степень >=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
#include <stdio.h>
#include <conio.h>
#include <math.h>
float stepen (float b, int a)
{
     if(a<=1)return b;
     float result=1;
     for (int i = 1; i <= a; i++)
          result = result*b;
     return result;
}
void main()
{
    clrscr();
    float chislo;int step;
    printf(" 1-stepin \n");
    printf("Vvedite chislo\n ");
    scanf("%f",&chislo);
    printf("\nvvedite stepen");
    scanf("%d",&step);
    printf("chislo = %f",stepen(chislo,step));
    getch();
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.03.2012, 17:53     ноль в результате
Еще ссылки по теме:

Помогите разобраться как получается при этом в результате -5,-5,-23? C++
то будет выведено в результате работы алгоритма? C++
Что будет в переменных в результате выполнения кода? C++
C++ Найти сумму двух чисел, полученных в результате сравнения чисел, полученных в результате вычисления выражений
C++ Что будет вызвано в результате вызова f()?

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

Или воспользуйтесь поиском по форуму:
gylayko
30 / 29 / 4
Регистрация: 28.09.2011
Сообщений: 448
23.03.2012, 17:53  [ТС]     ноль в результате #10
всем спасибо
Yandex
Объявления
23.03.2012, 17:53     ноль в результате
Ответ Создать тему
Опции темы

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