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

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

Восстановить пароль Регистрация
 
Pavel5
0 / 0 / 0
Регистрация: 11.10.2012
Сообщений: 8
28.10.2012, 23:22     Не могу понять почему не работает #1
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; 
}
программа не работает, не пойму почему
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
29.10.2012, 00:05     Не могу понять почему не работает #2
Цитата Сообщение от Pavel5 Посмотреть сообщение
C++
1
#define E 1e-6
неуверен что таким образом вы правильно объявили Е
BRcr
 Аватар для BRcr
4003 / 2292 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
29.10.2012, 00:16     Не могу понять почему не работает #3
Ошибок при компиляции нет, но работает не так, как ожидалось?
Чего она делать-то должна?
algoritm256
 Аватар для 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
 Аватар для lowercase
211 / 200 / 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);
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2012, 04:44     Не могу понять почему не работает
Еще ссылки по теме:

[c++] fgets не могу понять почему это не работает C++
Ребятки,выручайте,не могу понять почему не работает C++
C++ Не могу понять, почему программа неправильно работает!

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

Или воспользуйтесь поиском по форуму:
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 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; 
}
Yandex
Объявления
29.10.2012, 04:44     Не могу понять почему не работает
Ответ Создать тему
Опции темы

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