Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
Александр26
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 95
#1

с++ циклы - C++

01.11.2012, 15:57. Просмотров 423. Ответов 12
Метки нет (Все метки)

не работает, помогите найти ошибку
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <math.h>
 double fact(unsigned int n) 
 {
  double res = 1.0;
  if (n > 1)
    for (unsigned int i=2; i <= n; ++i)
      res *= i;
  return res;
}
 
double sum(double eps) {
  double s, a;
  unsigned int k = 0;
  do {
    ++k;
    a = pow(-1.0, k)/fact(k-1);
    s += a;
  } while (fabs(a) > eps);
  return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2012, 15:57     с++ циклы
Посмотрите здесь:

C++ Циклы (for, while, do while)
циклы for, while C++
Циклы C++
C++ Циклы
C++ циклы
C++ циклы
C++ Циклы do и while
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
01.11.2012, 16:06     с++ циклы #2
может s присвоить какое нибудь значение перед входом в цикл do?
Александр26
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 95
01.11.2012, 16:15  [ТС]     с++ циклы #3
Цитата Сообщение от V.A.L.I.D Посмотреть сообщение
может s присвоить какое нибудь значение перед входом в цикл do?
не, не помогает!
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
01.11.2012, 16:18     с++ циклы #4
Александр26, Что конкретно не работает?
v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
01.11.2012, 16:18     с++ циклы #5
Функция double sum(double eps) должна возвращать сумму. а у вас она всегда возвращает 0. наверно в этом и есть ошибка
Александр26
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 95
01.11.2012, 16:19  [ТС]     с++ циклы #6
Цитата Сообщение от vasiliy21 Посмотреть сообщение
Александр26, Что конкретно не работает?
даже окно ввода/вывода не появляется..
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
01.11.2012, 16:30     с++ циклы #7
Может попробуй в main() сделать!
я сделал, у меня скомпилировался
Александр26
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 95
01.11.2012, 16:47  [ТС]     с++ циклы #8
Цитата Сообщение от vasiliy21 Посмотреть сообщение
Может попробуй в main() сделать!
я сделал, у меня скомпилировался
у меня нет почему-то
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
01.11.2012, 16:53     с++ циклы #9
Код компилируется, только не гарантирую что адекватно работает программа

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
#include <iostream>
#include <math.h>
double fact( int n) 
{
double res = 1.0;
if (n > 1)
for ( int i=2; i <= n; i++)
res *= i;
return res;
}
 
int main (double eps) { 
double s=0, a;
 int k = 0;
do {
++k;
a = pow(-1.0, k)/fact(k-1);
s += a;
} while (fabs(a) > eps);
 
system("pause");
 
return 0;
}
Александр26
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 95
01.11.2012, 16:56  [ТС]     с++ циклы #10
Цитата Сообщение от vasiliy21 Посмотреть сообщение
Код компилируется, только не гарантирую что адекватно работает программа

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
#include <iostream>
#include <math.h>
double fact( int n) 
{
double res = 1.0;
if (n > 1)
for ( int i=2; i <= n; i++)
res *= i;
return res;
}
 
int main (double eps) { 
double s=0, a;
 int k = 0;
do {
++k;
a = pow(-1.0, k)/fact(k-1);
s += a;
} while (fabs(a) > eps);
 
system("pause");
 
return 0;
}
ну компилируется это да, но потом ничего не происходит
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
01.11.2012, 16:57     с++ циклы #11
здесь выведет s

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
#include <iostream>
#include <math.h>
double fact( int n) 
{
double res = 1.0;
if (n > 1)
for ( int i=2; i <= n; i++)
res *= i;
return res;
}
 
int main (double eps) { 
double s=0, a;
 int k = 0;
do {
++k;
a = pow(-1.0, k)/fact(k-1);
s += a;
} while (fabs(a) > eps);
std::cout<<s;
system("pause");
 
return 0;
}
v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
01.11.2012, 17:12     с++ циклы #12
Цитата Сообщение от Александр26 Посмотреть сообщение
ну компилируется это да, но потом ничего не происходит
добавьте перед return 0; cin.get(); так программа не будет сразу закрываться
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.11.2012, 17:15     с++ циклы
Еще ссылки по теме:

C++ Циклы в Cи
Циклы C++
C++ Циклы
циклы C++

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

Или воспользуйтесь поиском по форуму:
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
01.11.2012, 17:15     с++ циклы #13
Цитата Сообщение от V.A.L.I.D Посмотреть сообщение
добавьте перед return 0; cin.get(); так программа не будет сразу закрываться
Программа и так не закрывается, потому что есть
C++
1
system("pause");
Yandex
Объявления
01.11.2012, 17:15     с++ циклы
Ответ Создать тему
Опции темы

Текущее время: 15:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru