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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.10.2009, 16:57   #1
pobedin
Форумчанин
 
Регистрация: 30.07.2009
Сообщений: 105
По умолчанию Функции. Подскажите...

Здравствуйте. Вот есть код:
Код:
#include <stdio.h>

int power(int x, int n) 
{                     
int i,p=1;
for(i=0;i<n;++i)  
p=x++;
return p;          
}
int func(int a,int b)
{ int c;
c=a+b;
return c;
}

void main()
{ int z;
power(3,8);
func(2,67);
}
как мне в main найти z путем сложения двух значений из этих функции z=c+p. т.е. как передать значение этих перемнных в main не используя глобальные переменные? или никак?
pobedin вне форума Ответить с цитированием
Старый 29.10.2009, 17:28   #2
oleg kutkov
Unix C++ developer
Форумчанин
 
Аватар для oleg kutkov
 
Регистрация: 16.04.2007
Сообщений: 651
По умолчанию

1. Плохое форматирование, точнее полное отсутствие форматирования - это плохо, неудобно читать код.
2. Зачем вводить лишние переменные, что запрещает написать так:
Код:
z = power(3,8) + func(2,67);
Или я не так понял ?
oleg kutkov вне форума Ответить с цитированием
Старый 29.10.2009, 17:50   #3
pobedin
Форумчанин
 
Регистрация: 30.07.2009
Сообщений: 105
По умолчанию

да так. лишние переменные?! если бы не было, к примеру переменной p, то как бы я врзвращал результат функции.
pobedin вне форума Ответить с цитированием
Старый 29.10.2009, 18:01   #4
mYziK
Пользователь
 
Регистрация: 18.09.2009
Сообщений: 38
По умолчанию

Цитата:
если бы не было, к примеру переменной p, то как бы я врзвращал результат функции.
Вот так:
Код:
#include <stdio.h>

int power(int x, int n) 
{                     
    return ((2*x+n-1)*n)/2;  
}
int func(int a,int b)
{ 
   return a+b;
}

void main()
{ 
   int z;
   z = power(3,8) + func(2,67);
}
((2*x+n-1)*n)/2 - Формула суммы арифметической прогрессии (если именно она нужна, по коду - так).
mYziK вне форума Ответить с цитированием
Старый 29.10.2009, 18:21   #5
mYziK
Пользователь
 
Регистрация: 18.09.2009
Сообщений: 38
По умолчанию

Цитата:
Код:
int power(int x, int n) 
{                     
int i,p=1;
for(i=0;i<n;++i)  
p=x++;
return p;          
}
Стоп, здесь вообще просто вычисляется p = x+n. ?? Это действительно то, что Вы хотели? тогда еще проще:
Код:
int power(int x, int n) 
{                     
return x+n;          
}
mYziK вне форума Ответить с цитированием
Старый 29.10.2009, 19:56   #6
mYziK
Пользователь
 
Регистрация: 18.09.2009
Сообщений: 38
По умолчанию

Или усли power - возведение в степень, тогда придется все же с "p":
Код:
int power(int x, int n) 
{                     
   int i,p=1;
   for(i=0;i<n;++i)  
      p*=x;
   return p;          
}
mYziK вне форума Ответить с цитированием
Старый 30.10.2009, 08:48   #7
pobedin
Форумчанин
 
Регистрация: 30.07.2009
Сообщений: 105
По умолчанию

ну power это просто пример неудчаный=] понял. спасибо.
pobedin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чем отличается описание функции от определения функции в С++? Go6a Помощь студентам 4 18.07.2009 18:07
Указатели на функции(подскажите новичку) Malkovich Общие вопросы C/C++ 7 17.07.2009 13:35
Возврат значения функции по ссылке(подскажите новичку) Malkovich Общие вопросы C/C++ 11 14.07.2009 08:48
Подскажите как записать обратные тригонометрические функции на паскале....)))) Polo Паскаль, Turbo Pascal, PascalABC.NET 2 04.11.2008 11:05