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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.10.2012, 17:15   #1
eXp1osive
 
Регистрация: 17.10.2012
Сообщений: 8
Сообщение Поправьте. Заранее спасибо!

Вычислить приближенно значение бесконечной суммы с точностью до 0,0005:

S = 1 - (n\(2*3*4))^2 - (n\(3*4*5))^4 + (n\(4*5*6))^6 +...+ ((-1)^k)*((n\((k+1)*(k+2)*(k+3)))^2*k +...
(Формулу проверил... надеюсь все правильно написал)

Значение n и точность расчетов ввести как константы(см. примечание к варианту
4). Примечание: Считать, что требуемая точность достигнута, если очередное слагаемое
оказалось по модулю меньше, чем e.

Решить задачу тремя способами: при помощи циклов for, while, do-while. При решении представить блок-схемы для циклов while, и do-while. Уметь строить блок-схему для цикла for, используемого со счётчиком.

Вот мой код для цикла while:
Цитата:
#include "stdafx.h"
#include "iostream"
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
float n=1, s=0;
int k=0;
while (n>0.0005);
{
k++;
n=pow((-1),k)*pow((n/((k+1)*(k+2)*(k+3))),2k);
s=s+n;
}
cout<<"Summa s tochnost`yu do 0,0005 ="<<s<<endl;
return 0;
}
Выдаёт ошибки:
1>c:\documents and settings\admin\my documents\visual studio 2010\projects\3.5.1\3.5.1\3.5.1.cpp (13): error C2061: синтаксическая ошибка: идентификатор "n"
1>c:\documents and settings\admin\my documents\visual studio 2010\projects\3.5.1\3.5.1\3.5.1.cpp (16): error C2668: pow: неоднозначный вызов перегруженной функции
1> c:\program files\microsoft visual studio 10.0\vc\include\math.h(583): может быть "long double pow(long double,int)"
1> c:\program files\microsoft visual studio 10.0\vc\include\math.h(535): или "float pow(float,int)"
1> c:\program files\microsoft visual studio 10.0\vc\include\math.h(497): или "double pow(double,int)"
1> при попытке сопоставить список аргументов "(int, int)"
1>c:\documents and settings\admin\my documents\visual studio 2010\projects\3.5.1\3.5.1\3.5.1.cpp (16): error C2059: синтаксическая ошибка: неправильный суффикс для числа
1>c:\documents and settings\admin\my documents\visual studio 2010\projects\3.5.1\3.5.1\3.5.1.cpp (16): error C2146: синтаксическая ошибка: отсутствие ")" перед идентификатором "k"
1>c:\documents and settings\admin\my documents\visual studio 2010\projects\3.5.1\3.5.1\3.5.1.cpp (16): error C2059: синтаксическая ошибка: )

Последний раз редактировалось eXp1osive; 17.10.2012 в 17:20.
eXp1osive вне форума Ответить с цитированием
Старый 17.10.2012, 17:18   #2
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Код:
.......k+3))),2k);
может быть "2*k" ?
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 17.10.2012, 17:24   #3
eXp1osive
 
Регистрация: 17.10.2012
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Luuzuk Посмотреть сообщение
Код:
.......k+3))),2k);
может быть "2*k" ?
Да благодарю, это затупил я чуть-чуть, еще ничего в этом не смыслю, потому даже такие мелочи на автомате не могу сделать! А как насчет? Не хочет работать совсем =(
Цитата:
1>c:\documents and settings\admin\my documents\visual studio 2010\projects\3.5.1\3.5.1\3.5.1.cpp (13): error C2061: синтаксическая ошибка: идентификатор "n"
1>c:\documents and settings\admin\my documents\visual studio 2010\projects\3.5.1\3.5.1\3.5.1.cpp (16): error C2668: pow: неоднозначный вызов перегруженной функции
1> c:\program files\microsoft visual studio 10.0\vc\include\math.h(583): может быть "long double pow(long double,int)"
1> c:\program files\microsoft visual studio 10.0\vc\include\math.h(535): или "float pow(float,int)"
1> c:\program files\microsoft visual studio 10.0\vc\include\math.h(497): или "double pow(double,int)"
1> при попытке сопоставить список аргументов "(int, int)"
eXp1osive вне форума Ответить с цитированием
Старый 17.10.2012, 17:37   #4
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

явно приведите аргументы ф-ии "pow" к типу "float"
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 17.10.2012, 17:43   #5
eXp1osive
 
Регистрация: 17.10.2012
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Luuzuk Посмотреть сообщение
явно приведите аргументы ф-ии "pow" к типу "float"
Тоесть k убрать из int в float? Тогда выдаёт несколько строк:
k: необъявленный идентификатор
eXp1osive вне форума Ответить с цитированием
Старый 17.10.2012, 17:50   #6
eXp1osive
 
Регистрация: 17.10.2012
Сообщений: 8
По умолчанию

Цитата:
#include "stdafx.h"
#include "iostream"
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
float n=1, s=0, k=0;
while (n>0.0005);
{
k++;
float n=pow((-1),k)*pow((n/((k+1)*(k+2)*(k+3))),2*k);
s=s+n;
}
cout<<"Summa s tochnost`yu do 0,0005 ="<<s<<endl;
return 0;
}
Вот так программа запускается, но значения не выдаёт =((( Просто висит консоль с курсорм...
Что не так???
eXp1osive вне форума Ответить с цитированием
Старый 17.10.2012, 19:46   #7
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Код:
float n=1
и
Код:
float n=pow((-1),k)*pow((n/((k+1)*(k+2)*(k+3))),2*k);
Это РАЗНЫЕ переменные. Первую вы не изменяете, и она всегда 1, что больше вашего 0.0005
p51x вне форума Ответить с цитированием
Старый 18.10.2012, 14:24   #8
eXp1osive
 
Регистрация: 17.10.2012
Сообщений: 8
По умолчанию

Всем спасибо за советы - написал всё таки с циклом for осталось подставить другие и оформить лабу!
eXp1osive вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В Паскале !! Заранее спасибо ))) Alexxxxxx Помощь студентам 4 23.10.2011 00:29
Надо решить в Паскале , Заранее спасибо ))) Alexxxxxx Помощь студентам 7 22.10.2011 23:29
перезагрузка операцый с++ заранее спасибо Obi_Van Помощь студентам 0 28.05.2011 21:56
Связать таблицы в Excel!!Заранее спасибо Ратамахари Microsoft Office Excel 3 26.05.2011 17:58
Переробить процедуру, спасибо заранее!!!! mix_vasja Паскаль, Turbo Pascal, PascalABC.NET 0 11.03.2011 19:52