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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.04.2014, 20:11   #1
black8
 
Аватар для black8
 
Регистрация: 28.11.2013
Сообщений: 3
По умолчанию Вычисление значений (С++).

black8 вне форума Ответить с цитированием
Старый 05.04.2014, 07:46   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
Вопрос

Самостоятельные попытки были?
Streletz вне форума Ответить с цитированием
Старый 05.04.2014, 08:23   #3
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Сообщений: 1,609
По умолчанию

Задача 2 (разложение в ряд Тейлора)
Код:
#include <stdio.h>
#include <math.h>

#define N 5

double f(int n, double x)
{
if (n < N)
{
return (( pow((double)-1, (double)n) * pow ((double)x, (double)(n + 1)) ) / (double)( n + 1) ) + f(n + 1, x);
}
else
return 0;
}

int main()
{
printf("%f\n%f", f(0,0.06), log(1.06));
return 0;
}
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
challengerr вне форума Ответить с цитированием
Старый 05.04.2014, 23:45   #4
black8
 
Аватар для black8
 
Регистрация: 28.11.2013
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Streletz Посмотреть сообщение
Самостоятельные попытки были?
Думаю так, не знаю правильно ли? 1 задача
Код:
#include <iostream.h>
#include <stdio.h>
#include <math.h>

using namespace std;
int main()
{
float x,f;
cout<<"Vvedite x"<<'\n';
cin>>x;
if(x<0)
{
  f=-x;
  cout<<"F="<<f;
}
if(x>=0,x<=1)
{
 f=x;
 cout<<"F="<<f;
}
if(x>1,x<=3)
{
  f=1;
  cout<<"F="<<f;
}
if(x>3)
{
  f=x*x;
  cout<<"F="<<f;
}
system("pause");
return 0;
black8 вне форума Ответить с цитированием
Старый 05.04.2014, 23:58   #5
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Алгоритм для расчёта функции вроде бы правильный. Только, согласно заданию 1, исходные данные надо получать из текстового файла и сохранять в другой текстовый файл.
Примеры получения данных из текстовых файлов и сохранения в них данных можно посмотреть здесь:
Работа с текстовым файлом в C++ для начинающих
Streletz вне форума Ответить с цитированием
Старый 06.04.2014, 01:15   #6
black8
 
Аватар для black8
 
Регистрация: 28.11.2013
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Streletz Посмотреть сообщение
Алгоритм для расчёта функции вроде бы правильный. Только, согласно заданию 1, исходные данные надо получать из текстового файла и сохранять в другой текстовый файл.
Примеры получения данных из текстовых файлов и сохранения в них данных можно посмотреть здесь:
Работа с текстовым файлом в C++ для начинающих
Запись результата в output.txt работает норм, а вот считывание с input.txt как то неправильно происходит. Как значение X должно быть написано в input.txt? Вобщем программа работает, но результат не верен
Код:
#include <iostream.h>
#include <fstream>
#include <stdio.h>
#include <math.h>
#include <string>


using namespace std;


int main()
{
  string line;
  ifstream in ("input.txt");
  if (in.is_open())
  {
    while (in.good())
    {
      getline (in,line);
      cout << line << endl;
    }
    in.close();
  }
{   
float x,f;
if(x<0)
{
  f=-x;
  cout<<"F="<<f;
}
if(x>=0,x<=1)
{
 f=x;
 cout<<"F="<<f;
}
if(x>1,x<=3)
{
  f=1;
  cout<<"F="<<f;
}
if(x>3)
{
  f=x*x;
  cout<<"F="<<f;
}
{
                ofstream out ("output.txt");
                if (out)
                {
                        out<<"This is F!"<<endl;
                        out<<"F number: "<<f<<endl;
                }
                else
                cerr<<"Can't open file."<<endl;
}

system("pause");
return 0;
}
}
black8 вне форума Ответить с цитированием
Старый 06.04.2014, 01:25   #7
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

По идее, в строке должно быть 1 число. Целое (int, пример: 1) или вещественное (float, пример: 1.12).
В любом случае, из текстовика переменная считывается, как строка. Поэтому необходимо приведение типов.
Помимо этого, в цикле Вы читаете строки, но не присваиваете значения x и не производите расчёта.
Поэтому, нет ничего удивительного в том, что x инициализируется не понятно каким значением и, как следствие, функция выдаёт совершенно не верный результат.
Streletz вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычисление значений функции для нескольких значений аргументов и параметров kolychii Помощь студентам 0 08.10.2012 15:49
Вычисление значений функции Dmitry_Web Помощь студентам 3 25.01.2012 10:41
Вычисление значений. segail Microsoft Office Word 6 05.09.2011 02:28
Вычисление значений функции KREGI Помощь студентам 22 09.03.2009 16:41
вычисление значений 2-х таблиц gul БД в Delphi 1 17.06.2008 18:36