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

Функция возведения в степень.

09.07.2014, 03:02. Показов 13323. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
написал библиотеку для вычисления степени чисел.некорректно работает при возвращении переменной из step.h в main.cpp и переводе в другую.
step.h:
C++
1
2
3
4
5
6
7
8
9
10
11
#include <cmath>
  int result;
int step(int choise, int step)
{
 
    for(int i = 0; i < step; i++){
        result *= choise;
    }
 
return result;
}
main.cpp:
C++
1
2
3
4
5
6
7
8
9
10
11
#include "step.h"
#include <iostream>
int main(){
 
    int a;
    
step(2,3);
result <<a; //ещё пробовал result >> a
std::cout <<result;
system("pause");
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.07.2014, 03:02
Ответы с готовыми решениями:

Функция возведения в степень
Добрый день. Ребята, помогите решить проблему. Написал функцию для вычисления действительных корней кубического уравнения. возникает...

Функция возведения в степень
В школе изучаем C++ и я её не понимаю. Требуется написать функцию long long pow(long long a, unsigned int p), которая возводит число...

Рекурсивная функция возведения в степень
Ребята, написал функцию для возведения в степень из учебника, но она почему-то не хочет работать. Вот код: int pow(int base, unsigned...

8
 Аватар для abit
870 / 529 / 149
Регистрация: 03.02.2013
Сообщений: 1,847
09.07.2014, 03:31
обращаю внимание что это бред...
начнём с тела main:
C++
1
2
3
4
5
#include "step.h"
#include <iostream>
int main(){
 
    int a;
тут всё ок!
дальше
C++
1
step(2,3);
хм... странно
смотрим что же это за функция
C++
1
int step(int choise, int step)
ну я промолчу про всякие ссылки-указатели, здесь это не основная проблема, основанная проблема - сия функция нечто возвращает, и если копнуть в её код - то ужасно неэффективным способом степень числа (изучи уже блин логарифмы, например), ну ок, возвращает.... ок, а куда? а никуда, в пустоту, судя по вызову функции... что мы видели в начале перехода
C++
1
step(2,3);
глядим дальше и....
C++
1
result <<a;
зачем? переменная "a" так и не инициализированна,
C++
1
//ещё пробовал result >> a
соберись, это же бред, ты понимаешь написанное? задайся вопросом что это вообще значит
C++
1
system("pause");
и снова минус, как любитель C++, этого нет и не может быть в языке
0
27 / 26 / 16
Регистрация: 02.12.2013
Сообщений: 79
09.07.2014, 04:58
Цитата Сообщение от artemd55131 Посмотреть сообщение
вывод переменной в другую
мусье, извращенец

По существу "сформулированного в теме" предложения
Цитата Сообщение от artemd55131 Посмотреть сообщение
result <<a;
имелось ввиду вероятно
C++
1
result = a;
переменные не надо "выводить друг в друга", лучше их присваивать друг другу, или на худой конец копировать друг в друга... с оглядкой на тип переменных естественно.
А выводить их лучше в "поток" какой-нибудь и вводить тоже с потока какого-нибудь.


А по существу представленного кода, хотелось бы добавить
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int result; // Глобальная, объявленная и определенная(!) в хедере.  Одноразовый хедер? 
int step(int choise, int step)
{
 
    for(int i = 0; i < step; i++){
        result *= choise;  // вспомним, result - глобальная, для одного вызова сгодится, 
                                 //но чем она была заполнена при создании???  
                                 // результат всегда рулетка                                 
 
    }
 
return result; // на ку-куй его возвращать? result - глобальная.
}
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,243
09.07.2014, 07:56
Подвожу итог:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
int step(int choise, int step)
{
    int result=1;
    for(int i = 1; i <= step; i++)
        result *= choise;
    return result;
}
int main()
{
 
    int a=step(2,3);
    std::cout <<a<<std::endl;
    system("pause");
    return 0;
}
0
 Аватар для soon
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
09.07.2014, 08:11
Цитата Сообщение от abit Посмотреть сообщение
и снова минус, как любитель C++, этого нет и не может быть в языке
А вот тут подробнее, пожалуйста
0
327 / 230 / 55
Регистрация: 30.05.2014
Сообщений: 682
09.07.2014, 08:15
Цитата Сообщение от abit Посмотреть сообщение
ну я промолчу про всякие ссылки-указатели
А можно развернуто? Про ссылки-указатели и их преимущество по сравнению с передачей по значению применительно к int ?
0
09.07.2014, 09:14

Не по теме:

Цитата Сообщение от soon Посмотреть сообщение
А вот тут подробнее, пожалуйста
скорее всего имеется ввиду отсутствие pause в linux

0
4 / 4 / 1
Регистрация: 23.05.2013
Сообщений: 37
09.07.2014, 09:21
uglyPinokkio, ну, как минимум, динамичесие переменные имеют преимущество перед статическими в плане занимаемой памяти. Хотя тут вопрос в целесообразности, в крупных программах использовать стоит динами, дабы утечки памяти не было. В чем-то мелком достаточно будет статики.
0
327 / 230 / 55
Регистрация: 30.05.2014
Сообщений: 682
09.07.2014, 09:26
Цитата Сообщение от Roodey Посмотреть сообщение
динамичесие переменные имеют преимущество перед статическими в плане занимаемой памяти
Это о чем? там нет статических переменных.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.07.2014, 09:26
Помогаю со студенческими работами здесь

Функция возведения матрицы в степень
Просьба кто знает как такое реализовать напишите, уже сколько мучаюсь , а считает не правильно , мб у кого есть)

Рекурсивная функция возведения в степень
Мое задание: Вычислить y = x^n(икс в степени n) по следующему правилу: y = ( x^n/2 )^2, если n четное и y = x * y^(n–1), если n...

Функция для возведения в степень (стыдно)
Здравствуйте. Нужно написать программу, которая читает два целых значения (основание и показатель степени) и выдаёт результат, используя...

Не подключается функция возведения в степень pow
#include &lt;math.h&gt; L=sqrt(pow(x-x0)+pow(y-y0)); Почему не подключаеться функция возведениЯ в степень pow, кто...

Функция для сложного возведения в степень по формуле
Известно, что x,y,z - целые числа, которые могут принимать значения в диапазоне от 1 до 4 (включительно). Напишите функцию superpow (x, y,...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru