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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.06.2013, 17:03   #1
Climber-18
Пользователь
 
Регистрация: 30.01.2013
Сообщений: 31
Печаль Циклический процесс

Здача такова: Написать программу с циклическим процессом для расчёта по формуле(прилагается ниже). Код который я наваял
Код:
#include<iostream.h>
#include<windows.h>
#include<math.h>
void main()
{
char i[50];
float n,dx;
int otv;
float k;
float p;
cout.setf(ios::fixed);
cout.setf(ios::showpoint);
cout.precision(2);
m1:CharToOem ("Введите кол-во слогаемых суммы",i);
cout<<i<<'\n';
cin>>n;
n=k;
double f=1.0;
for (k=1;k<=n;k++)
{	
	p=0;
	f=f*k;
p=p+(pow(1.0+(1.0/f),2));
k+1;
}
CharToOem ("Результат",i);
cout<<i<<'\n';
cout<<"_______________"<<'\n';
cout<<"p="<<p<<'\n';
cout<<'\n';
CharToOem("Будете продолжать работу? Да - 1, Нет - 0",i);
cout<<i<<'\n';
cin>>otv;
if (otv==1) goto m1;
cin>>otv;
}
Кому не сложно, объясните что не так или исправте ошибку. За ранее спасибо!
Изображения
Тип файла: png 123.PNG (6.7 Кб, 42 просмотров)
Climber-18 вне форума Ответить с цитированием
Старый 10.06.2013, 17:51   #2
kventin_zhuk
БНТУ ФИТР
Форумчанин
 
Аватар для kventin_zhuk
 
Регистрация: 20.05.2012
Сообщений: 315
По умолчанию

Ну во первых:
Код:
for (k=1;k<=n;k++)
{	
	p=0; // p это у вас сумма? так зачем вы ей при каждой итерации обнуляете
	f=f*k;//  что вы здесь хотите сделать?
        p=p+(pow(1.0+(1.0/f),2)); // 
        k+1; // эта строчка вообще смысла не имеет. Вы прибавляете к числу равному значению переменной к единицу и не записываете результат никуда. Смысл?
}

Вот так вот примерно:

Код:
int n; // количество итераций
float sum = 0;// вся сумма
float cur = 0;// текущий член ряда

cout << "Enter n: ";
cin >> n;

for (int i = 1; i <= n; i++)
{
    cur = pow(-1, i) * (i + 1) / fact(i); // fact - функция нахождения факториала, которую вам нужно реализовать
    sum = sum + cur;
}
С++(console/builder/WinAPI/Linux), C#, Pascal, Delphi, Asm, Prolog.
< ----- Контакты
kventin_zhuk@live.com

Последний раз редактировалось kventin_zhuk; 10.06.2013 в 17:56.
kventin_zhuk вне форума Ответить с цитированием
Старый 10.06.2013, 19:55   #3
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

kventin_zhuk Есть в вашем куске кода изъян.. На сколько я помню функция pow() из стандартной библиотеки передает и возвращает double. А у вас, как видно из кода intы . Компилятор не надорвется?
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Циклический вычислительный процесс Koketkaa Помощь студентам 2 22.03.2012 10:23
Циклический процесс со счетчиком kuy Паскаль, Turbo Pascal, PascalABC.NET 6 13.11.2011 00:15
Циклический вычислительный процесс dv666 Фриланс 4 06.12.2009 11:30