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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2013, 18:42   #1
East Undia Trading
Форумчанин
 
Регистрация: 02.10.2013
Сообщений: 231
По умолчанию Проверка кода программы.

Прошу меня извинить, если эту задачу вы видите не в первый раз, но теперь я все сделал сам и хочу узнать, похоже ли оНо на правду.Код не работает и есть пара вопросов.

1)Как правильно инициализировать переменную?
2)Как правильно записать приращение ε
3)Как правильно записать граничность x?
Код:
#include <stdio.h>
#include <locale.h>
#include <math.h>
#include <conio.h>
#define e 1e-3
main()
{ 
setlocale(LC_ALL, "rus");
int n, x;
float sum, f, k;
scanf("%d", &x);%0

Последний раз редактировалось Stilet; 24.11.2013 в 22:09.
East Undia Trading вне форума Ответить с цитированием
Старый 24.11.2013, 20:24   #2
East Undia Trading
Форумчанин
 
Регистрация: 02.10.2013
Сообщений: 231
По умолчанию

Почему все удалили?Все неправильно?
East Undia Trading вне форума Ответить с цитированием
Старый 24.11.2013, 22:09   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Почему все удалили?
Никто ничего не трогал.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.11.2013, 01:51   #4
East Undia Trading
Форумчанин
 
Регистрация: 02.10.2013
Сообщений: 231
По умолчанию

Волшебство, само исчезло.Что на счет программы?
Код:
#include <stdio.h>
#include <locale.h>
#include <math.h>
#include <conio.h>
#define e 1e-3
main()
{ 
setlocale(LC_ALL, "rus");
int n, x;
float sum, f, k;
scanf("%d", &x);
k=1;
do  {
        for (n = 1;; ++n)
    {
    f *= (2*n-1); 
    k=(pow(-1,2*n-1)*pow(x,n))/f;
    sum+=k;
    }
    }
while(sum>e && x>=-1&& x<=1);
    printf("%lf", sum);
    return ;
}
East Undia Trading вне форума Ответить с цитированием
Старый 25.11.2013, 06:05   #5
SaLoKiN
Форумчанин
 
Аватар для SaLoKiN
 
Регистрация: 19.09.2013
Сообщений: 597
По умолчанию

Цитата:
.Что на счет программы?
почему к=1? для суммы переменная,на старте, должна быть равна 0.

Цитата:
3)Как правильно записать граничность x?
проверка при вводе, но никак не при исполнении функции.
Код:
for (n = 1;; ++n)
бесконечный цикл, который ни разу не завершится пока не уйдет в бесконечность.

Цитата:
2)Как правильно записать приращение ε
так норм.
Цитата:
1)Как правильно инициализировать переменную?
нипонял вопроса
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!!
SaLoKiN вне форума Ответить с цитированием
Старый 25.11.2013, 14:06   #6
East Undia Trading
Форумчанин
 
Регистрация: 02.10.2013
Сообщений: 231
По умолчанию

SaLoKiN, на другом форуме указали на неправильную инициализацию переменных.
Так правильно?
Код:
#include <stdio.h>
#include <locale.h>
#include <math.h>
#include <conio.h>
#define e 1e-3
main()
{ 
setlocale(LC_ALL, "rus");
int n, x;
double sum, f, k;
scanf("%d", &x);
k=0;
if(x>=-1&& x<=1)
{
do  {
    for (n = 1;n<=x; ++n){
    f *= (2*n-1); 
    k=(pow(-1,2*n-1)*pow(x,n))/f;
    sum+=k;
    }
    }
while(sum>e);
}
    printf("%lf", sum);
    return ;
}

Последний раз редактировалось Stilet; 25.11.2013 в 16:51.
East Undia Trading вне форума Ответить с цитированием
Старый 25.11.2013, 16:51   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
указали на неправильную инициализацию переменных.
Каких именно?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.11.2013, 18:09   #8
East Undia Trading
Форумчанин
 
Регистрация: 02.10.2013
Сообщений: 231
По умолчанию

Stilet, не знаю.

Stilet, что на счет программы?

Последний раз редактировалось Stilet; 25.11.2013 в 20:12.
East Undia Trading вне форума Ответить с цитированием
Старый 25.11.2013, 20:13   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ничего )
Запусти ее - она результат верный даст?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.11.2013, 20:58   #10
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

Мне вот интересно, как много целого типа значений принимает x при следующих условиях:
Код:
int n, x;
...
if(x>=-1&& x<=1)
...
-1, 0, 1 и все.
Из задания очевидно, что x - не целого типа.

Кроме того. В задании записано (-1)^(2n-1). n - натуральное, тогда (-1)^(2n-1) - всегда отрицательное.

Что значит цикл
Код:
for (n = 1;n<=x; ++n)
Его роль - получить сумму произведений?

Цикл должен продолжаться до тех пор, пока вычесленный элемент ряда не станет меньше e (переименуй лучше в eps), а не сумма элементов ряда, которая при заданном, не нулевом значении х будет стремиться к некоторому значению.
Правильнее будет, если будет только цикл типа:
Код:
do
{
  ...
} while <условие сравнения элемента ряда с eps>;

Как-то так, ...
Как-то так, ...

Последний раз редактировалось ViktorR; 25.11.2013 в 21:03.
ViktorR вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка правильности кода программы Petrowa C++ Builder 4 25.11.2015 18:41
Проверка кода Ёжик в тумане Паскаль, Turbo Pascal, PascalABC.NET 5 14.01.2013 18:56
Проверка кода(паскаль) xxxartikxxx Паскаль, Turbo Pascal, PascalABC.NET 1 14.11.2012 16:06
Delphi. Проверка введенного кода Silverstone Помощь студентам 4 03.06.2012 14:38
Проверка кода С++ AlekCaHdpyLLlka Visual C++ 4 11.05.2012 22:35