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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.10.2011, 21:48   #1
vrtp
Пользователь
 
Регистрация: 11.10.2011
Сообщений: 33
По умолчанию Сумма

нужно подсчитать сумму на си Σ=e^sqrt(2n). (N=600)
Код:
# include<stdio.h>
# include<math.h>
int main()
{
unsigned long N, i;
double d;
for (i=1;i<=N;i++);
d=d+exp(sqrt(2i));
}
Делаю все в VS, ошибки: Ошибка 1 error C2668: sqrt: неоднозначный вызов перегруженной функции, 2)IntelliSense: существует более одного экземпляра перегруженная функция "sqrt", соответствующего списку аргументов. Прошу понять разобраться, что за ошибки и адекватно ли работает алгоритм
vrtp вне форума Ответить с цитированием
Старый 23.10.2011, 22:15   #2
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

последнюю строчку замени на

d=d+exp(sqrt(2.0*i));

и запятую после for убери

и еще N проинициализируй ((((:

и d тоже :lol:

Последний раз редактировалось Stilet; 23.10.2011 в 22:50.
Rififi вне форума Ответить с цитированием
Старый 23.10.2011, 22:33   #3
vrtp
Пользователь
 
Регистрация: 11.10.2011
Сообщений: 33
По умолчанию

ДА,ерунду написал, так должно быть?
Код:
# include<stdio.h>
# include<math.h>
int main()
{
unsigned long N, i;
double d;
d=0;
N=1000;
for (i=1;i<=N;i++)
d=d+exp(sqrt(i*2.0));
printf("%d",&d);
return(0);
}
vrtp вне форума Ответить с цитированием
Старый 23.10.2011, 22:46   #4
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

больше похоже на правду...
почему N = 1000, если в условии 600?
printf выведен адрес переменной вместо значения.
Rififi вне форума Ответить с цитированием
Старый 23.10.2011, 23:06   #5
vrtp
Пользователь
 
Регистрация: 11.10.2011
Сообщений: 33
По умолчанию

просто перепутал числа, а как вывести значение?
Вроде как исправил
Код:
# include<stdio.h>
# include<math.h>
int main()
{
unsigned long N, i;
double d;
d=0;
N=900;
for (i=1;i<=N;i++)
d=d+exp(sqrt(2.0*i));
printf("%d",d);
return(0);
}

Последний раз редактировалось vrtp; 23.10.2011 в 23:13.
vrtp вне форума Ответить с цитированием
Старый 24.10.2011, 00:23   #6
kypck
Пользователь
 
Регистрация: 23.10.2011
Сообщений: 35
По умолчанию

Цитата:
Сообщение от vrtp Посмотреть сообщение
просто перепутал числа, а как вывести значение?
Вроде как исправил
Код:
# include<stdio.h>
# include<math.h>
int main()
{
unsigned long N, i;
double d;
d=0;
N=900;
for (i=1;i<=N;i++)
d=d+exp(sqrt(2.0*i));
printf("%d",d);
return(0);
}
N у вас 600, почему пишете N=900;?

также строку
Цитата:
printf("%d",d);
лучше бы заменить на
Код:
printf ("%4.0f\n",d);
kypck вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сумма Газовый Microsoft Office Excel 6 22.06.2010 09:29
Сумма kskb7771 БД в Delphi 1 12.06.2010 03:04
Сумма Inkognito99 Помощь студентам 2 19.05.2010 01:19
Сумма ARTEGA Общие вопросы Delphi 7 20.04.2010 21:21
Сумма A B beemoto Помощь студентам 6 24.12.2009 16:05