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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.03.2009, 13:29   #1
defol-777
Пользователь
 
Регистрация: 11.01.2009
Сообщений: 30
По умолчанию Суммирование рядов в С++

- вывести рекуррентную формулу для расчета очередного слагаемого;
- описать начальные установки номера слагаемого, слагаемого, суммы;
- описать процесс накопления суммы.



А это пример похожей задачи
Код:
Пример программы

//Вычислить π/4=1 - 1/3 + 1/5 - 1/7 +..для различных значений точности.
//Результаты представить в виде таблицы:
//точность, сумма, количество слагаемых, контрольное значение.

#include<stdio.h>
#include<math.h>
#include<conio.h>
#include<limits.h>

void windo(int x1,int y1,int x2,int y2,int colf,int colb);
void main()
{int vid, n;
 float eps, epsn, epsk, h, pr, rez;
 textbackground(BLACK) ;
 clrscr() ;
 for(;;)
 {windo(20,1,55,6,3,15);
  gotoxy((55 - 20 - 13) / 2,1);
//Ввод исходных данных
  cprintf("Вид действия:\n\r");
  cprintf("\r\n   1 - получение таблицы значений\n\r");
  cprintf("   2 - завершение программы\n\r");
  cprintf("   Выберите вид действия ->");
  scanf("%d",&vid);
  if (vid == 1)
  {window(1,1,80,25);
   textbackground(BLACK);
   clrscr();
   windo(20,1,55,6,3,15);
   gotoxy((55 - 20 - 13) / 2,1);
   cprintf("Вид действия:\n\r");
   cprintf("\r\n   1 - получение таблицы значений\n\r");
   cprintf("   2 - завершение программы\n\r");
   cprintf("   Выберите вид действия ->");
   windo(20,8,55,12,2,15);
   gotoxy((55 - 20 - 21) / 2,1);
   cprintf("Ввод исходных данных:");
//Ввод исходных данных
   cprintf("\r\n Введите нач знач точн  ");
// \r для возврата в начало строки (в случае наличия окон)
   scanf("%f", &epsn);
   if((epsn <= 0) || (epsn > 0.1))
     {windo(10,13,45,15,4,15);
      cprintf("\n Ошибка! Значение д.б. >0 и <0.1");
      getchar();getchar();
      return;
     }
   cprintf("\r Введите кон знач точн  ");
   scanf("%f", &epsk);
   if((epsk <= 0) || (epsk > 0.1))
     {windo(10,13,45,15,4,15);
      cprintf("\n Ошибка! Значение д.б. >0 и <0.1");
      getchar();getchar();
      return;
     }
   cprintf("\r Введите шаг измен точн ");
   scanf("%f", &h);
   if(h <= 0)
     {windo(10,13,45,15,4,15);
      cprintf("\n Ошибка! Значение д.б. >0");
      getchar();getchar();
      return;
     }
//Вывод заголовка таблицы
   windo(10,13,65,25,4,15);
   gotoxy((65 - 10 - 10) / 2,1);
   cprintf("Результат:");
   cprintf("\r\n  Точность|    Сумма   |Кол.слаг.|Контр значен\n\r");
//Вычисление суммы
   eps =epsn;
   do{n = 0;
      rez = 0;
      pr = 1;
      while (fabs(pr) > eps)
       {rez += pr;
	   n++;
	   pr *= - (2 * n - 1.) / (2 * n + 1);
	   if(n >= INT_MAX)
	     {cprintf("\r Точность не достигнута!!");
	      getchar();getchar();
	      return;
	     }
       }
      cprintf(" %9.6f%12.8f%8i%15.8f\n\r",eps,rez,n,M_PI / 4);
      eps += h;
     }while(eps <= epsk);
  }
  else break;
 }
}

//Вывод окна на экран
void windo(int x1,int y1,int x2,int y2,int colf,int colb)
{window(x1, y1, x2, y2);
 textbackground(colf);
 textcolor(colb);
 clrscr();
}
defol-777 вне форума Ответить с цитированием
Старый 05.03.2009, 13:30   #2
defol-777
Пользователь
 
Регистрация: 11.01.2009
Сообщений: 30
По умолчанию

Кто чем может помогите)
defol-777 вне форума Ответить с цитированием
Старый 05.05.2010, 11:10   #3
mrChester
Я
Форумчанин
 
Аватар для mrChester
 
Регистрация: 24.04.2010
Сообщений: 693
По умолчанию

Код:
//Вычисление суммы
   //eps =epsn;    //точность
   n = 1;
   pr = x;
   rez=2*x;     
   while (pr/(2*n+1) > eps)
   {       
        pr *= x*x ;
        rez += 2*pr/(2*n+1);
        n++;
        if(n >= INT_MAX)
	{cprintf("\r Точность не достигнута!!");
	  getchar();getchar();
	  return;
	 }
               
    }
должно быть что-то вроде этого
Все персонажи вымышлены, все совпадения случайны.
Если жизнь игра, тогда я её разработчик ©.
mrChester вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Суммирование рядов смешанного типа. maliyusha Паскаль, Turbo Pascal, PascalABC.NET 5 18.12.2011 15:38
Суммирование SlavaSH БД в Delphi 15 22.01.2009 12:29
"Суммирование рядов смешанного типа" Найти ошибку! maliyusha Паскаль, Turbo Pascal, PascalABC.NET 4 25.12.2008 20:19
Форматы рядов данных maxic Microsoft Office Excel 0 13.10.2008 18:02