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

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

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

Не могу понять почему не работает - C++

28.10.2012, 23:22. Просмотров 450. Ответов 6
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "stdio.h"
#include "math.h"
#include "conio.h"
#define E 1e-6
 
int main()
{
    float x,y,a;
    int n;
printf("x=");
scanf("%f" ,&x);
y=0; a=x; n=0;
while (fabs(a)>=E)
{ 
     y=y+a;
     n++;
     a=-a*x*n/(n-1);
}
scanf("y=%f\n",y);
printf("ln(1+x)=%f\n",log(1+x));
getch();
return 0; 
}
программа не работает, не пойму почему
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2012, 23:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не могу понять почему не работает (C++):

Не могу понять почему не работает (или правильно не работает) - C++
#include <iostream.h> #include <conio.h> #define N 5 #define M 3 void main() { int a; int i,j; cout<<"nachalnya...

Не могу понять почему не работает - C++
#include <iostream> using namespace std; int main() { double a; double b; cout<<"vvedite sumu deposita"; cin>>a; ...

Не могу понять почему не работает - C++
#include <iostream> #include <string> using namespace std; const int arrSize = 15; int main() { string Phone; ...

не могу понять почему не работает - C++
Пожалуйста ,помоги,найти ошибку... услвие задачи Подсчитать количество вхождений букв и слов в тексте #include<fstream.h> ...

не могу понять почему не работает программа - C++
#include <iostream> #include <conio.h> #include <clocale> #include <cmath> using namespace std; int main () { setlocale...

Не могу понять почему не работает программа - C++
int f,x,a,b,c; cin>>x; if (x>0) {f=pow(-x,4); cout<<f;} else {f=x+92; cout<<f;} if (x==0) {f=0;

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
29.10.2012, 00:05 #2
Цитата Сообщение от Pavel5 Посмотреть сообщение
C++
1
#define E 1e-6
неуверен что таким образом вы правильно объявили Е
BRcr
4008 / 2297 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
29.10.2012, 00:16 #3
Ошибок при компиляции нет, но работает не так, как ожидалось?
Чего она делать-то должна?
algoritm256
9 / 9 / 1
Регистрация: 05.02.2012
Сообщений: 147
Записей в блоге: 1
29.10.2012, 00:21 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "stdio.h"
#include "math.h"
#include "conio.h"
#define E 0.000006
 
int main()
{
    float x,y,a;
    int n;
printf("x=");
scanf("%f" ,&x);
y=0; a=x; n=0;
while (fabs(a)>=E)
{ 
     y=y+a;
     n++;
     a=-a*x*n/(n-1);
}
scanf("y=%f\n",y);
printf("ln(1+x)=%f\n",log(1+x));
getch();
return 0; 
}
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
29.10.2012, 00:29 #5
Цитата Сообщение от BRcr Посмотреть сообщение
Чего она делать-то должна?
аналогичный вопрос, без ответа лично мне непонятно для чего делается этот цикл
Цитата Сообщение от algoritm256 Посмотреть сообщение
C++
1
2
3
4
5
6
while (fabs(a)>=E)
{ 
* * *y=y+a;
* * *n++;
* * *a=-a*x*n/(n-1);
}
кривое считывание, непонятно что вы хотите считать
Цитата Сообщение от algoritm256 Посмотреть сообщение
C++
1
scanf("y=%f\n",y);
и просто вывод результата функции log

Цитата Сообщение от algoritm256 Посмотреть сообщение
C++
1
printf("ln(1+x)=%f\n",log(1+x));
lowercase
212 / 201 / 34
Регистрация: 09.05.2012
Сообщений: 494
29.10.2012, 01:28 #6
потому что
C
1
scanf("y=%f\n", y);
запишит не в переменную y, а в адрес который находится в переменной y.
и вобще использовать чтото кроме спецификаторов формата в scanf, как по мне, то это ивращение. лучше сделать так:
C
1
2
printf("y = ");
scanf("%f", &y);
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
29.10.2012, 04:44 #7
Цитата Сообщение от Pavel5 Посмотреть сообщение
программа не работает, не пойму почему
см комментарии:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "stdio.h"
#include "math.h"
#include "conio.h"
#define E 1e-6
 
int main()
{
    float x,y,a;
    int n;
printf("x=");
scanf("%f" ,&x);
y=0; a=x; n=0;// здесь n равно 0
while (fabs(a)>=E)
{ 
     y=y+a;
     n++;// в первом цикле n становится равным 1
     a=-a*x*n/(n-1);// сразу же делите на 0
}
scanf("y=%f\n",y);
printf("ln(1+x)=%f\n",log(1+x));
getch();
return 0; 
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2012, 04:44
Привет! Вот еще темы с ответами:

Не могу понять, почему программа неправильно работает! - C++
Изучаю С++ по Страуструпу Б. - Программирование. Принципы и практика использования C++. Есть задание: 9. Вычислите сумму введенных...

[c++] fgets не могу понять почему это не работает - C++
Вообщем на диске C:\ лежит 3 файла 1 Файл test.txt 2 Файл 1.dll 3 Файл 2.dll в test.txt записано: 1.dll 2.dll

Не могу понять почему не работает прога(структуры) - C++
Вот стрепал код. структура содержит результаты сессии( как раз актуально), надо ввести данные в структуру, фамилии студентов и оценки по...

Не могу понять почему программа работает не правильно! - C++
Задание: Программа находит в строке 1 символ который не входит во 2 заданную строку. Помогите исправить ошибку. ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
29.10.2012, 04:44
Ответ Создать тему
Опции темы

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