Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/263: Рейтинг темы: голосов - 263, средняя оценка - 4.83
1 / 1 / 0
Регистрация: 01.01.2011
Сообщений: 46
1

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

01.01.2011, 10:34. Показов 51982. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите пожалуйста с решением задачи

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

Пояснение: табулировать функцию на указанном отрезке с указанным шагом означает построить таблицу значений этой функции для всех значений данного отрезка (отстоящих друг от друга на указанном расстоянии d).
Миниатюры
табуляция функции в С++  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.01.2011, 10:34
Ответы с готовыми решениями:

Табуляция функции
Табуляция функции в диапазоне от Xmin =-15 до Xmax =20 в N=1000 равноудаленных точках.

Табуляция функции
Доброго времени суток. У меня есть рабочий код программы табуляции функции. Проблема заключается в...

Табуляция функции
Составить программу, которая распечатывает заданное количество значений функций asb(sin(x)) и...

Табуляция функции
Здравствуйте! Не могу правиться с задачей, помогите, пожалуйста. Напишите программу табуляции...

7
182 / 183 / 55
Регистрация: 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();
}
1
2848 / 1997 / 986
Регистрация: 21.12.2010
Сообщений: 3,705
Записей в блоге: 10
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;
}
1
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); //открыть файл в программе Блокнот
   }
0
67 / 67 / 7
Регистрация: 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"); //открыть файл в программе Блокнот
}
1
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.
0
67 / 67 / 7
Регистрация: 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 и без них работает!
0
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 делать и подробно все строки описывать(за что они отвечают)
0
02.01.2011, 09:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.01.2011, 09:32
Помогаю со студенческими работами здесь

Табуляция функции y=x^2-4x+3
Табулировать функцию y=x^2-4x+3. Программа должна содержать описание класса, реализующего...

Табуляция функции
Ребят, посмотрите что не так. void FunctionsTable()//табуляция функций { SystemClear();...

Табуляция функции
Вот сама задача: http://cs633118.vk.me/v633118233/2836/80zrruaXWok.jpg Вот мой исходник:...

Табуляция функции
Здравствуйте, мне непонятен один аспект в задаче: Напишите программу табулирования функции в...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru