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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.03.2013, 20:48   #1
1o1man
Пользователь
 
Регистрация: 09.12.2007
Сообщений: 49
По умолчанию описать функцию pow(a,n)

Цитата:
Описать функцию pow (a,n) , вычисляющую a^n, где а - вещественное, n - целое. С помощью этой функции найти (1+x/m)^m, где x и m вводятся пользователем.

вроде все правильно написал, но не запускается, ругается, скрин прилагаю (жми сюда)




Код:
#include <stdio.h>
void main()

{

	float x, int m;
double nazvaniefunkcii (float a, int n) 

{

	int i=0;
for (i=0;i<n;i++) 
{a=a*a;}

}

printf("Введите значение x");
scanf("%f",&x);
printf("Введите значение m");
scanf("%d",&m);
printf("Ответ %f", nazvaniefunkcii((1+x/m),m);

}

Последний раз редактировалось 1o1man; 20.03.2013 в 20:55.
1o1man вне форума Ответить с цитированием
Старый 20.03.2013, 21:08   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

nazvaniefunkcii должно что-то возвращать, а у тебя в ней не хватает return a
И по-моему нужно писать так: (float a; int n)
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.03.2013, 21:18   #3
1o1man
Пользователь
 
Регистрация: 09.12.2007
Сообщений: 49
По умолчанию

Код:
float x  ; int m;

double nazvaniefunkcii (float a, int n) 

{

	int i=0;
for (i=0;i<n;i++) 
{a=a*a;}
сюда "return a;"?

}

Последний раз редактировалось 1o1man; 20.03.2013 в 21:21.
1o1man вне форума Ответить с цитированием
Старый 20.03.2013, 21:41   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

да. туда...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.03.2013, 21:53   #5
1o1man
Пользователь
 
Регистрация: 09.12.2007
Сообщений: 49
По умолчанию

блин... все равно ошибку выдает (скрин тут)
1o1man вне форума Ответить с цитированием
Старый 20.03.2013, 23:02   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

У меня такое вчепятление что ты неверно создал проект.
Попробуй заново создай консольный проект, и наполни его кодом, но не тупо копипасте аллес, а вдумчиво - оставляя то что студия тебе сама напишет шаблонно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.03.2013, 23:12   #7
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

А список ошибок внизу экрана не смущает?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 20.03.2013, 23:32   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

я вообще не знаю С/C++



но я бы примерно так попробовал:
Код:
#include <stdio.h>

double nazvaniefunkcii (float a; int n) 
{
 float p = 1;
 for (int i=0;i<n;i++) 
     {p=p*a;}
 return p;
}

int main(void)
{

     float x, int m;
     printf("Введите значение x");
     scanf("%f",&x);
     printf("Введите значение m");
     scanf("%d",&m);
     printf("Ответ %f", nazvaniefunkcii((1+x/m),m));
     return 0;
}

Последний раз редактировалось Serge_Bliznykov; 21.03.2013 в 08:35. Причина: баланс скобок поправил чуток..
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.03.2013, 00:32   #9
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от 1o1man Посмотреть сообщение
Ты в теле функции main пытаешься определить ещё одну локальную функцию.

Возьми учебник для самых маленьких. Открой раздел "функции", и почитай, как правильно их создавать.
_Bers вне форума Ответить с цитированием
Старый 21.03.2013, 19:05   #10
1o1man
Пользователь
 
Регистрация: 09.12.2007
Сообщений: 49
По умолчанию

в итоге вот так, пару исправлений внес в вариант Serge_Bliznykov'a.
как сделать чтобы оно не закрывалось после вывода ответа?
system("pause") не помогает. может модуль надо добавить какой?
Код:
#include <stdio.h>

double nazvaniefunkcii (float a, int n) 
{
 float p = 1;
 for (int i=0;i<n;i++) 
     {p=p*a;}
 return p;
}

int main(void)
{

     float x; int m;
     printf("vvedite zna4enie x: ");
     scanf("%f",&x);
     printf("vvedite zna4enie m: ");
     scanf("%d",&m);
     printf("otvet %f", nazvaniefunkcii((1+x/m),m));
     return 0;
	
}
1o1man вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Описать функцию! (C++) novichek01 Помощь студентам 7 22.01.2013 21:47
Описать функцию Ins1De Помощь студентам 0 04.06.2012 19:04
Описать функцию (C++) Etete Помощь студентам 0 27.12.2011 18:51
Описать функцию нахождения расстояния между 2-мя точками на плоскости, заданными своими координатами, и функцию .... zzz6 Помощь студентам 2 06.07.2011 08:24
описать функцию на Си Skrappy Помощь студентам 2 25.06.2011 08:02