Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [C++]вычисление суммы бесконечного ряда на , факториал 
:(
    Опции темы
len4ixa
Дата 25.11.2008, 08:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Твоя лучшая фантазия
*


Профиль
Группа: Участник
Сообщений: 164
Регистрация: 25.11.2008

Репутация: нет
Всего: нет



Новичиха на C++ и никак не могу это понять smile . Вот, что-то пробовала написать, но по сути дела даже задания не поняла... 
Код

#include "stdafx.h"
#include "conio.h"
#include "stdio.h"
#include "math.h"
int _tmain(int argc, _TCHAR* argv[])
{ float k, i, z, eps;
     k=0;
     printf("Input z:");
         scanf ("%f", &z);
printf ("Input eps:");
             scanf ("%f", &eps);
     i=pow((pow(z, 2)/4), k)/(6.28*k*pow((k/2.72),k)*pow((k/2.72),k));
        
 do
 
         {   
             i=pow((pow(z, 2)/4), k)/(6.28*k*pow((k/2.72),k)*pow((k/2.72),k));
            
        k=k+1;
         }
             
         while (fabs(i)<=eps);
            printf ("i=%f", i);
 
 getch();
    return 0;
}

Само собой что-то не то, либо подскажите, либо свою версию представьте, пожалуйста!!!
задание на рисункеuser posted image

Это сообщение отредактировал(а) Rodman - 25.11.2008, 21:17
--------------------
Кому интересно быть модером на бесплатнои хостинге (но не ломать его) и сделать из него хотя бы что-то, похожее на "нормальное", тому Сюда.Сайт брата: kras.24ss.ru. Регимся. 
PM MAIL   Вверх
len4ixa
  Дата 28.11.2008, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Твоя лучшая фантазия
*


Профиль
Группа: Участник
Сообщений: 164
Регистрация: 25.11.2008

Репутация: нет
Всего: нет



Ап, так давно написала, и даже ни одного ответа:( Ответ до сих пор нужен!!
--------------------
Кому интересно быть модером на бесплатнои хостинге (но не ломать его) и сделать из него хотя бы что-то, похожее на "нормальное", тому Сюда.Сайт брата: kras.24ss.ru. Регимся. 
PM MAIL   Вверх
Sannis
Дата 29.11.2008, 01:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 14.8.2007
Где: Москва

Репутация: 1
Всего: 13



Пожалуй так...

Попробуйте разобраться, задавайте вопросы:
Код

#include "stdio.h"
#include "math.h"
int main(int argc, char* argv[])
{
    float z = 0.5;
    float eps = 1e-6;
    long int k = 0;
    long int k_fact = 1;
    float elem = 0;
    float summ = 0;

    printf("Input z:");
    scanf("%f", &z);

    printf("Input eps:");
    scanf("%f", &eps);

    // k = 0
    summ = 1;
    do {
        k +=1;
        k_fact *= k;

        elem = ( k%2 == 0 ? 1 : -1  )*( pow(z*z/4, (float)k) )/k_fact/k_fact;
        summ += elem;
            
    } while ( fabs(elem) > eps );

    printf("Summ = %.5f\n", summ);
 
    return 0;
}



Результат: http://codepad.org/df7qdhNd.


--------------------
Я Критик Джим, раньше писал моды для IPB 1.3.x-2.3.x, а теперь продвигаю Node.js в массы.
PM MAIL WWW   Вверх
len4ixa
Дата 3.12.2008, 05:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Твоя лучшая фантазия
*


Профиль
Группа: Участник
Сообщений: 164
Регистрация: 25.11.2008

Репутация: нет
Всего: нет



ну есть вообще пару вопросов:
1. как тут выделить вычисление самого факториала
2. ( k%2 == 0 ? 1 : -1  ) что поподробнее это делает
--------------------
Кому интересно быть модером на бесплатнои хостинге (но не ломать его) и сделать из него хотя бы что-то, похожее на "нормальное", тому Сюда.Сайт брата: kras.24ss.ru. Регимся. 
PM MAIL   Вверх
Sannis
Дата 4.12.2008, 03:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 14.8.2007
Где: Москва

Репутация: 1
Всего: 13



Цитата(len4ixa @  3.12.2008,  05:57 Найти цитируемый пост)
1. как тут выделить вычисление самого факториала

Если очень хочется, то можно выделить в отдельную функцию. Но если членов ряда много, я бы сэкономил, что и изложил в коде. Как известно 0!=1, n!=n*(n-1)!, т.е. достаточно завести переменную k_fact, равную единице в начале и на каждом шаге умножать на номер шага, тогда в ней всегда будет находиться n!.

Цитата(len4ixa @  3.12.2008,  05:57 Найти цитируемый пост)
2. ( k%2 == 0 ? 1 : -1  ) что поподробнее это делает

Это тернарный оператор. откройте любую книжку по синтаксису C/C++ и прочитайте про него. если нет, смотрите здесь: http://inf777.narod.ru/cpp_lections/lection_5.htm, Тернарный оператор в Си.


--------------------
Я Критик Джим, раньше писал моды для IPB 1.3.x-2.3.x, а теперь продвигаю Node.js в массы.
PM MAIL WWW   Вверх
len4ixa
Дата 5.12.2008, 06:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Твоя лучшая фантазия
*


Профиль
Группа: Участник
Сообщений: 164
Регистрация: 25.11.2008

Репутация: нет
Всего: нет



Спасибо, вроде разобралась
--------------------
Кому интересно быть модером на бесплатнои хостинге (но не ломать его) и сделать из него хотя бы что-то, похожее на "нормальное", тому Сюда.Сайт брата: kras.24ss.ru. Регимся. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0446 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.