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

табуляция функции в С++ - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 67, средняя оценка - 4.90
aniva_romich
1 / 1 / 0
Регистрация: 01.01.2011
Сообщений: 46
01.01.2011, 10:34     табуляция функции в С++ #1
Подскажите пожалуйста с решением задачи

Задача . (консольная программа).
Выполнить табуляцию функции, указанной в условии, на отрезке [a, b] (a<b) с шагом d. Построение таблицы произвести в текстовом файле table.txt. По окончании работы полученный файл открыть в окне программы Блокнот (программно). Параметры a, b, d ввести в диалоге с клавиатуры (обеспечить проверку корректности ввода).

Пояснение: табулировать функцию на указанном отрезке с указанным шагом означает построить таблицу значений этой функции для всех значений данного отрезка (отстоящих друг от друга на указанном расстоянии d).
Миниатюры
табуляция функции в С++  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.01.2011, 10:34     табуляция функции в С++
Посмотрите здесь:

Табуляция C++
Табуляция функции - не сходится ответ C++
C++ Табуляция
C++ Табуляция функции 2 сменных
C++ Табуляция функции
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vet
 Аватар для vet
175 / 175 / 13
Регистрация: 08.04.2009
Сообщений: 1,309
01.01.2011, 12:08     табуляция функции в С++ #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
 
int main()
{
    ofstream ofs("table.txt");
    double a,b,d;
    cout << "Enter a,b,d = ";
    cin >> a >> b >> d;
    cout << "\n";
    
    for(double x = a;x<b;x+=d)
    {
            ofs << (1.3*exp((-x)/2)+fabs(cos(((2*M_PI*x)/3)-1.4))-6/11) << "\n";
    }
    
    cin.get();
}
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
01.01.2011, 12:31     табуляция функции в С++ #3
вот ещё вариант
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
#include <iostream>
#include <fstream>
#include<iomanip>
#include<windows.h>
#include<cmath>
using namespace std;
 
int main()
{
    float y, x, a, b, d;
    cout<<"enter a, b, d\n\n";
    cin>>a>>b>>d;
    if(a>=b){
        cerr<<"\"a\" must be less than \"b\"";
        return 1;
    }
    ofstream ofs("table.txt");
    ofs<<setw(4)<<'x'<<setw(15)<<'y'<<endl;
    x=a;
    while(x<=b){
        y=1.3*exp(-x/2.0)+fabs(cos(2.0*M_PI*x/3-1.4))-6.0/11;
        ofs<<setw(4)<<x<<setw(15)<<y<<endl;
        x+=d;
    }
    cout << WinExec("c:\\windows\\notepad.exe table.txt",SW_SHOW) << endl;
}
aniva_romich
1 / 1 / 0
Регистрация: 01.01.2011
Сообщений: 46
02.01.2011, 02:29  [ТС]     табуляция функции в С++ #4
Проверьте пожалуйста мой вариант,чувствую там много лишнего
ЗЫ всем спасибо!

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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include <windows.h>
#include <iostream>
#include <iomanip>
#include <fstream>
#include <cmath>      //подключение математических функций
#include <cstdlib>
#define pi 3.14       //замена pi на 3.14
using namespace std;
 
/* Автор программы:  Долгосрочное задание, задача #2 */
 
main()
{
SetConsoleOutputCP(1251); //русификация консоли
 
 
double a(0), b(0);      //входные данные
double d(0);            //шаг аргумента
 
cout<<"Введите a>";     //ввод числа "а"
cin>>a;
 
 
do
      {
cout<<"Введите b>";     //ввод числа "b" с проверкой корректности данных
cin>>b;
      }
while (b<=a);
 
 
 
char dStr[50] = "";    //строковый буфер для ввода числа
bool incorrect = false;//критерий правильности ввода числа
 
                       //цикл ввода параметра "d"
do
  {
system("cls");
cout<<"Введите шаг аргумента (вещественное число из отрезка [a,b])>>";
cin>>dStr;
 
 d = atof(dStr);//преобразовать строку в число
 
incorrect = ((d==0) && (strcmp(dStr,"0")!=0)) || ((d<0)||(d>1)); //определить, правильное ли число было введено
  }
while (incorrect); //пока введено неверное значение, продолжать
 
char FileName[260] = "C:\\Table.txt";
ofstream OutFile(FileName); //создание и открытие файла для вывода
 
double start(a), end(b);
double x(start);                 //аргумент функции
double y(0);                    //значение функции
 
OutFile<<"Таблица функции f(x)=1.3*exp(-x/2)-6./11+cos((2*pi*x/3)-1.4)\n\n";
OutFile<<"x\t\tf(x)"<<endl;
while (x<=end)                   //пока x не достиг конца отрезка [a,b] продолжать
   {
if (cos((2*pi*x/3)-1.4)<0.00001)
OutFile<<setprecision(2)<<showpoint<<x<<"\t\t"<<"значение не определено"<<endl;
else
   {
y = 1.3*exp(-x/2)-6./11+cos((2*pi*x/3)-1.4);
OutFile<<x<<"\t\t"<<y<<endl;     //вывести в файл аргумент и значение функции
   }
 
x += d;                         //увеличить значение аргумента
   }
 
OutFile.close();
char Start[260] =  "notepad.exe   C:\\Table.txt";
system  (Start); //открыть файл в программе Блокнот
   }
Минич
 Аватар для Минич
66 / 66 / 3
Регистрация: 26.11.2010
Сообщений: 123
02.01.2011, 08:41     табуляция функции в С++ #5
Я думаю, вот этого вполне достаточно будет.
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
#include <iostream>
#include <fstream>
 
#define PI 3.14159265
using namespace std;
 
void main()
{
    setlocale(LC_ALL, "Russian");   // русификация консоли
    
    double a, b,    // входные данные
           d;       // шаг аргумента
    
    cout << "Введите начало отрезка a>";    // ввод числа "а"
    cin >> a;
    do {
        cout << "Введите конец отрезка b>"; // ввод числа "b" с проверкой корректности данных
        cin >> b;
    } while (b <= a);
    
    // цикл ввода параметра "d"
    do {
        system("cls");
        cout << "Введите шаг d>";
        cin >> d;
    } while ((b-a) < d);    // пока введено неверное значение, продолжать
 
    ofstream OutFile("Table.txt");  // создание и открытие файла для вывода
 
    double x(a),    // аргумент функции
           y;       // значение функции
    
    OutFile << "Таблица функции: f(x)=1.3*exp(-x/2)+cos((2*pi*x/3)-1.4)-6/11\n\n"
            << "x\t\tf(x)" << endl;
    
    do {
        y = 1.3 * exp(-x/2) + abs(cos(2*PI*x/3-1.4)) - 6./11;
        OutFile << x << "\t\t" << y << endl;    //вывести в файл аргумент и значение функции
        x += d;
    } while (x <= b);
 
    OutFile.close();
    system("notepad.exe Table.txt"); //открыть файл в программе Блокнот
}
aniva_romich
1 / 1 / 0
Регистрация: 01.01.2011
Сообщений: 46
02.01.2011, 09:16  [ТС]     табуляция функции в С++ #6
Спасибо всем за помощь!

Добавлено через 10 минут
Цитата Сообщение от Минич Посмотреть сообщение
Я думаю, вот этого вполне достаточно будет.
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
#include <iostream>
#include <fstream>
 
#define PI 3.14159265
using namespace std;
 
void main()
{
    setlocale(LC_ALL, "Russian");   // русификация консоли
    
    double a, b,    // входные данные
           d;       // шаг аргумента
    
    cout << "Введите начало отрезка a>";    // ввод числа "а"
    cin >> a;
    do {
        cout << "Введите конец отрезка b>"; // ввод числа "b" с проверкой корректности данных
        cin >> b;
    } while (b <= a);
    
    // цикл ввода параметра "d"
    do {
        system("cls");
        cout << "Введите шаг d>";
        cin >> d;
    } while ((b-a) < d);    // пока введено неверное значение, продолжать
 
    ofstream OutFile("Table.txt");  // создание и открытие файла для вывода
 
    double x(a),    // аргумент функции
           y;       // значение функции
    
    OutFile << "Таблица функции: f(x)=1.3*exp(-x/2)+cos((2*pi*x/3)-1.4)-6/11\n\n"
            << "x\t\tf(x)" << endl;
    
    do {
        y = 1.3 * exp(-x/2) + abs(cos(2*PI*x/3-1.4)) - 6./11;
        OutFile << x << "\t\t" << y << endl;    //вывести в файл аргумент и значение функции
        x += d;
    } while (x <= b);
 
    OutFile.close();
    system("notepad.exe Table.txt"); //открыть файл в программе Блокнот
}
эта не работает,ошибки выдаёт в строках 7,23,37,43
..\hernja\main.cpp:7: error: '::main' must return 'int'

..\hernja\main.cpp: In function 'int main()':

..\hernja\main.cpp:23: error: 'system' was not declared in this scope

..\hernja\main.cpp:37: error: 'exp' was not declared in this scope

..\hernja\main.cpp:37: error: 'cos' was not declared in this scope

..\hernja\main.cpp:37: error: 'abs' was not declared in this scope

..\hernja\main.cpp:43: error: 'system' was not declared in this scope

mingw32-make[1]: *** [tmp/obj/debug_shared/main.o] Error 1

mingw32-make: *** [debug-all] Error 2

Процесс "C:/Qt/2010.05/mingw/bin/mingw32-make.exe" завершился с кодом %2.
Минич
 Аватар для Минич
66 / 66 / 3
Регистрация: 26.11.2010
Сообщений: 123
02.01.2011, 09:21     табуляция функции в С++ #7
C++
1
2
3
4
#include <iostream>
#include <fstream>
#include <cmath>      //подключение математических функций
#include <cstdlib>
Подключи библиотеки! Хотя у меня на MS Visual C++ 2010 Express и без них работает!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.01.2011, 09:32     табуляция функции в С++
Еще ссылки по теме:

табуляция функции. почему не работает код? C++
C++ Табуляция
Табуляция функции y=x^2-4x+3 C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
aniva_romich
1 / 1 / 0
Регистрация: 01.01.2011
Сообщений: 46
02.01.2011, 09:32  [ТС]     табуляция функции в С++ #8
Цитата Сообщение от Минич Посмотреть сообщение
C++
1
2
3
4
#include <iostream>
#include <fstream>
#include <cmath>      //подключение математических функций
#include <cstdlib>
Подключи библиотеки! Хотя у меня на MS Visual C++ 2010 Express и без них работает!
Всё заработало,спс
Нас заставляют все проекты в Qt делать и подробно все строки описывать(за что они отвечают)
Yandex
Объявления
02.01.2011, 09:32     табуляция функции в С++
Ответ Создать тему
Опции темы

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