Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 28.08.2009, 17:34   #1
Syltan
Заблокирован
 
Регистрация: 27.08.2009
Сообщений: 569
По умолчанию Функции

Не скажите,что делает эта строка, это какое-то двойной вызов функции или что.
Код:
x = power(x,power(2.0,2.0));
Вот весь код:

Код:
#include <iostream>
#include <string>
using namespace std;

double power(double x, int n);

int main(void)
{
	setlocale(0,"Russian");
int index = 3;
double x = 3.0;
double y = 0.0;
y = power(5.0, 3);
cout<<endl
<<"5,0 в кубе = "<<y;
cout<<endl
<<"3,0 в кубе = "
<<power(3.0, index);
x = power(x,power(2.0,2.0));
cout<<endl
<<"х = "<<x;
cout<<endl;

cin.get();
return 0;
}



double power(double x, int n)
{
	double result = 1.0;
	for(int i = 1; i <= n; i++)
		result*=x;
	return result;
}
Syltan вне форума
Старый 28.08.2009, 17:40   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Здесь функция power возвращает число в заданной степени.
Сначала вычисляется значение функции
Код:
power(2.0,2.0)
Оно равно 2^2 = 4.
Затем вызывается функция
Код:
power(x,power(2.0,2.0))
с учетом найденного значения power(x,4) = x^4
Полученное значение присваивается переменной x.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума
Старый 28.08.2009, 17:54   #3
Syltan
Заблокирован
 
Регистрация: 27.08.2009
Сообщений: 569
По умолчанию

Ещё один момент и всё. Зачем в функции power переменной result присваивается 1, а потом, задаётся цикл с 1 до 3 и переменной result присваивается 1*x.
Syltan вне форума
Старый 28.08.2009, 17:58   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Код:
double result = 1.0;
Инициализируем переменную единицей.
Код:
for(int i = 1; i <= n; i++)
 result*=x;
n раз умножаем result на x и пишем обратно в result. Таким образом получаем число, возведенное в нужную степень.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума
Старый 28.08.2009, 18:02   #5
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

Цитата:
Ещё один момент и всё. Зачем в функции power переменной result присваивается 1, а потом, задаётся цикл с 1 до 3 и переменной result присваивается 1*x.
Цитата:
double power(double x, int n)
{
double result = 1.0;
for(int i = 1; i <= n; i++)
result*=x;
return result;
}
функция power возводит число x в степень n. Что нужно сделать для этого? N раз умножить x на само себя. В школе таблицу умножения изучал? Ну вот. Результат вернется в Power. Изначально power нужно присвоить единицу, ибо умножая любое число на 0 ты получишь 0.


пс. шота у меня подозрение, что наш старый друг Golovastik (или как его там) зарегил второй акк
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума
Старый 28.08.2009, 18:09   #6
Syltan
Заблокирован
 
Регистрация: 27.08.2009
Сообщений: 569
По умолчанию

Как можно определить в данном коде, чему равно n-раз?
Syltan вне форума
Старый 28.08.2009, 18:28   #7
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от Syltan
Как можно определить в данном коде, чему равно n-раз?
Код:
double power(double x, int n)
А это, по-вашему, что?
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума
Старый 28.08.2009, 18:31   #8
Syltan
Заблокирован
 
Регистрация: 27.08.2009
Сообщений: 569
По умолчанию

Я имею ввиду,чему равно n, какому числу? Ещё момент,как я могу знать, до скольки считает цикл фор?
Syltan вне форума
Старый 28.08.2009, 18:33   #9
jojahti
Подтвердите свой е-майл
 
Регистрация: 27.07.2009
Сообщений: 437
По умолчанию

Syltan
Цитата:
Как можно определить в данном коде, чему равно n-раз?
Ну очевидно, какие параметры ты в функцию передашь, такие в ней и будут.

result = power(3, 4);
То есть возвести 3 в 4ю степень. И результат запомнить.

З.Ы. Эт те что, учебник???
jojahti вне форума
Старый 28.08.2009, 18:36   #10
jojahti
Подтвердите свой е-майл
 
Регистрация: 27.07.2009
Сообщений: 437
По умолчанию

Syltan
Цитата:
Ещё момент,как я могу знать, до скольки считает цикл фор?
Блин реально, почитай учебник, там написано как циклы работают.
К примеру Лафоре ""Объектно ориентированное программирование в с++", очень подробно объясняет, иногда даже чересчур подробно, там и примеров куча.
jojahti вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чем отличается описание функции от определения функции в С++? Go6a Помощь студентам 4 18.07.2009 18:07
функции в С Viamy Помощь студентам 0 02.06.2009 10:44
Функции С++ moltes Помощь студентам 2 28.05.2009 18:46
Функции. Передача массива в качестве параметра функции. Wia Помощь студентам 2 17.03.2009 14:57