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

Упростить программу - C++

Восстановить пароль Регистрация
 
Julia9311
3 / 3 / 0
Регистрация: 05.11.2011
Сообщений: 190
24.12.2011, 20:57     Упростить программу #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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include "iostream.h"//подключаем заголовочный файл iostream.h
#include "conio.h"//подключаем заголовочный файл conio.h
#include "math.h"//подключаем  заголовочный файл math.h
 
double Taylor(double x, double eps, int count)//введем ряд Тэйлора
{
 double a,i=1,f=eps;//обозначим переменные и их значения(степень i=1,f=eps)
 count = 0;//кол-во рядов равно нулю
 float pt=5;//знаменатель первой дроби равен 5
 int p=0,st;//увеличение знаменателя(в первой дроби не увеличивается),
 a = x;//x в первой дроби заменяем на а
 
 st=1;//кол-во дробей в ряде равно 1
 while((f)>=eps)//цикл while(f)>=eps
  {
   f += a;//переаменная f=a
   i += 1;//переменная i=1
   a = a+pow(-1,st)*pow(2,i)*pow(x,i)/pt;//сама функция
   
   pt=pt+5+p;//формула знаменателя функции
   st++;//кол-во дробей в ряде увеличивается на 1
   p=2;//формула знаменателя функции после второй дроби увеличивается на 2
   count++;//кол-во просуммированных рядов увеличивается на 1
  }
 return f;//окончание цикла
}
 
 
int main()//вводим заглавную функцию
{
 
    double x,xend,dx,eps,func_sum;//вводим переменные x,xend,eps и сумму функции
int count = 0;//вводим count(кол-во просуммированных рядов)
 
cout<<"\nVvedite Xnach:";//вывод на экран Vvedite Xnach
 
cin>>x;//ввод x
 
cout<<"\nVvedite Xend:";//вывод на экран Vvedite Xend
cin>>xend;//ввод xend
 
cout<<"\nVvedite EPS:";//вывод на экран Vvedite EPS
cin>>eps;//ввод eps
 
cout<<"\nVvedite shag dx:";//вывод на экран Vvedite shag dx
cin>>dx;//ввод dx
 
cout<<"\n"<<"x"<<"\t"<<"func(sum)"<<"\t"<<"count";//вывод на экран заголовка таблицы
cout<<"\n--------------------------------------------";//отделение заголовка от таблицы
 
 
for(;x<=xend;x+=dx)//цикл for
 {
  func_sum = Taylor(x,eps,count);//значение функции ряда Тэйлора(значение аргумента,эпсилон и кол-во просуммированных рядов)
 
  
  cout<<"\n";//переход на новую строку
  cout<<x<<"\t"<<func_sum<<"\t"<<count;//вывод значения аргумента,функции и кол-во просуммированных членов ряда
 }
    return 0;//окончание программы
нельзя ли сделать ее попроще?

Добавлено через 1 час 24 минуты
задание такое: Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора на интервале от Хнач до Хкон с шагом dx с точностью Е. Таблицу снабдить заголовком и шапкой. Каждая строка должна содержать значение аргумента, значение функции и количество просуммированных членов ряда.
может я что-то не так делаю? Помогите, очень нужно!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Вася1q
 Аватар для Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
24.12.2011, 21:06     Упростить программу #2
А зачем ее упрощать? Если она корректно работает?
Julia9311
3 / 3 / 0
Регистрация: 05.11.2011
Сообщений: 190
24.12.2011, 21:13  [ТС]     Упростить программу #3
Вася1q , ну вот не нравится преподавателю( дала 1 балл из 10
Вася1q
 Аватар для Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
24.12.2011, 21:17     Упростить программу #4
Julia9311, и чем она это аргументировала?
Yandex
Объявления
24.12.2011, 21:17     Упростить программу
Ответ Создать тему
Опции темы

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