Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Zapt1k
1 / 1 / 0
Регистрация: 08.05.2013
Сообщений: 25
#1

В чем ошибка и как исправить? - C++

12.05.2013, 16:40. Просмотров 292. Ответов 5
Метки нет (Все метки)

Была задача написать программу с использованием рекуррентных соотношений. (см. вложение) Выдал ошибку. вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream.h>
#include <conio.h>
void main ()
{int c,k,n,x;
double s;
cout<<"x="; cin>>x;
cout<<"n="; cin>>n;
s=0;
c=-1;
k=-1;
do
{c=(c*x*x)/(k+1);
k=k+1;
s=s+c;}  while (k<=n);
cout<<"s="<<s<<endl;
getch ();
}
0
Миниатюры
В чем ошибка и как исправить?  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2013, 16:40
Я подобрал для вас темы с готовыми решениями и ответами на вопрос В чем ошибка и как исправить? (C++):

Подскажите, в чем здесь ошибка? И как ее исправить...плиз! - C++
//Ошибка здесь!!!! void power (ulong m, ulong &amp;s, ulong &amp;t) { for (t=0, s=m; s%2==0; t++) s/=2; } ...

В файл записываются непонятные символы? В чем ошибка? И как ее можно исправить? - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;Windows.h&gt; #include &lt;locale&gt; using namespace std; const...

Программа на контестере проходит только 1 тест из 9. Можете объяснить, в чем моя ошибка и как ее исправить! - C++
Объясните, в чем моя ошибка в решении задачи. Условие: 103. Подсчет войск ограничение времени на тест: 0.5 сек. ...

Как исправить ошибку и в чем она заключается - C++
Привет,помогите пожалуйста #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; #include &quot;vichiclenia.cpp&quot; using namespace...

в чём ошибка ? и как исправить ? - C++
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;conio.h&gt; int main() { int n, i; char *s; printf(&quot;Введите n: &quot;); ...

ошибка компилятора как исправить - C++
компилятор видает ошибку (Stack around the variable &quot;pt2&quot; was corrupted) з чем может бить связана данная ошибка, компилятор Microsoft...

5
zss
Модератор
Эксперт С++
6928 / 6490 / 2182
Регистрация: 18.12.2011
Сообщений: 17,105
Завершенные тесты: 1
12.05.2013, 16:52 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <conio.h>
using namespace std;
void main ()
{
    int k,n;
    double c,s,x;
    cout<<"x="; cin>>x;
    cout<<"n="; cin>>n;
    
    c=-1./x;
    s=c;// первый член (при к=-1)
    k=0;
    do
    {
        c=(c*x*x)/(k+1.); // второй и последующие
        s+=c;
        k++;
    }while (k<=n);
    cout<<"s="<<s<<endl;
    getch();
}
1
lemegeton
2933 / 1362 / 136
Регистрация: 29.11.2010
Сообщений: 2,725
12.05.2013, 17:04 #3
Цитата Сообщение от Zapt1k Посмотреть сообщение
Выдал ошибку.
Действительно выдал ошибку.

Неправильно считаете не те формулы.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <cmath>
#include <iostream>
#include <iomanip>
 
/* забьем на гамма-функции, и примем, что факториал может быть только 
 * у положительного числа
 */
unsigned long int factorial(unsigned int number) {
  unsigned long int result = 1;
  while (number > 1) {
    result *= number--;
  }
  return result;
}; 
 
/*
 * Значение выражения 2 * k + 3 будет всегда нечетным.
 * Поэтому (-1) в степени 2 * k + 3 всегда будет равно -1.
 * Бессмысленную операцию нафиг.
 */
 
int main(int argc, char *argv[]) {
  double result = 0;
  int n = 5;
  double x = 2;
  
  for (int k = -1; k <= n; ++k) {
    result += pow(x, 2 * k + 1) / factorial(k + 1);
  }
  
  std::cout << std::fixed << std::setprecision(4) << result << std::endl;
  return 0;
}
0
Zapt1k
1 / 1 / 0
Регистрация: 08.05.2013
Сообщений: 25
12.05.2013, 17:07  [ТС] #4
zss, а без 3 строки как написать? учитывая то, что я это вижу впервые не думаю, что мой препод будет в восторге.

Добавлено через 1 минуту
lemegeton, а здесь для меня все очень сложно)
0
lemegeton
2933 / 1362 / 136
Регистрация: 29.11.2010
Сообщений: 2,725
12.05.2013, 17:11 #5
Цитата Сообщение от Zapt1k Посмотреть сообщение
lemegeton, а здесь для меня все очень сложно)
В чем сложность?
Еще, вы умножили c на икс квадрат. Это отличается от задания. Вы не считаете факториал, это отличается от задания...

Цитата Сообщение от Zapt1k Посмотреть сообщение
zss, а без 3 строки как написать?
Припишите std:: к cin, cout и endl.
1
Zapt1k
1 / 1 / 0
Регистрация: 08.05.2013
Сообщений: 25
12.05.2013, 17:19  [ТС] #6
Всем спасибо. можно закрывать тему)
0
12.05.2013, 17:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.05.2013, 17:19
Привет! Вот еще темы с ответами:

Ошибка константа. как исправить? - C++
помогите пожалуйста, как убрать эту ошибку?

ошибка подскажите как исправить!! - C++
1&gt;d:\calcu\calcu\Form1.h(343): error C3861: strtoint32: идентификатор не найден int a; int b; a =...

что за ошибка как исправить - C++
Серьезность Код Описание Проект Файл Строка Состояние подавления Ошибка MSB8036 The Windows SDK version 8.1 was not found. Install the...

Ошибка с strtok - как исправить? - C++
Вот например: #include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; void main () { char text=&quot;gh.gh.g hghgh o3 jf7...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru