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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Satirist
0 / 0 / 0
Регистрация: 23.12.2013
Сообщений: 5
#1

Вычислить значение функции - C++

23.12.2013, 10:47. Просмотров 1013. Ответов 8
Метки нет (Все метки)

Вычислить значение функции
Вычислить значение функции
с точностью ε = 10^-4, где x изменяется от 0 до 2 с шагом 0.2. Результаты вывести в виде таблицы.

Нужна программа на C++.

Спасайте, форумчане! в упор не понимаю, что от меня требуется, и как это реализовать.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2013, 10:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычислить значение функции (C++):

Вычислить значение функции (значение переменной Х передается в качестве параметра функции) - C++
Написать функцию, которая возвращает вычисленное значение функции. Значение переменной Х передается в качестве параметра функции.

Вычислить значение аргумента x, значение функции y, max и min функций - C++
где диапазон изменения аргумента -2 <= x <=3 , шаг 0,1

Вычислить где значение функции меняет знак(отделение корней функции) - C++
Имеется следующая функция f(x)=sqrt(4*x+7)-3*cos(x) Нужно написать программу, где будет выводится таблица, где будет видно при каком...

Вычислить значение функции a = b ^2 sin (b), причем b изменяется от 0,9 до 1,7 с шагом 0,2. Найти среднее значение разности между элементами - C++
Доброго времени суток ! Помогите решить задачу ! Нужно написать в цикле с постусловием следующее : Вычислить значение функции...

Вычислить значение функции аргумент которой вычисляется из другой кусочно заданной функции - C++
Решите программу то я не знаю как:hysteric: Вычислить значение y в зависимости от выбранной функции \varphi (x), аргумент которой...

Дано разложение функции в ряд Тейлора. Вычислить для значения x и точности Eps точное значение функции - C++
Дано разложение функции y(x) в ряд Тейлора. Составить программу, вычисляющую для значения x и точности Eps: • точное значение функции...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ShadowFirst
55 / 48 / 1
Регистрация: 31.10.2013
Сообщений: 161
23.12.2013, 11:50 #2
Цитата Сообщение от Satirist Посмотреть сообщение
Вычислить значение функции
Вложение 346220
с точностью ε = 10^-4, где x изменяется от 0 до 2 с шагом 0.2. Результаты вывести в виде таблицы.

Нужна программа на C++.

Спасайте, форумчане! в упор не понимаю, что от меня требуется, и как это реализовать.
что тут можно сказать, примерно это должно выглядеть так:
C++
1
2
3
4
5
6
7
8
9
float delta = 1;
for (float x = 0; x <= 2; x+=0,2) {
    float summ = 0;
    for (int k = 0; delta > 0,0004; k++) {
        float summSec = //здесь должна быть ваша формула записанна понятным для компьютера языком;
        deleta = abs(summSec - summ);
        summ = summSec;
    }
}
Соответственно во втором цикле можно поставить проверку на количество членов ряда, мало ли вдруг ряд не сойдется, но это на ваше усмотрение.
0
Satirist
0 / 0 / 0
Регистрация: 23.12.2013
Сообщений: 5
24.12.2013, 08:08  [ТС] #3
Угумц, спасибо, это осилил.

Еще 1 вопрос созрел.

Сформировать структуру, в полях записи которой должны присутствовать переменные перечисляемого типа. Написать процедуры (или функции) записи в файл и считывания из файла массива таких структур.

Собственно, структура
C++
1
2
3
4
5
6
7
8
9
10
11
struct Person
{
    char f_name[20];             //Имя  
    char l_name[20];            //Фамилия
    int age;            //Возраст
    enum sex            //Пол
    {
        male
        female
    } mass[20];
}
А далее начинаются загвоздки. Как к enum sex обратиться?
C++
1
2
3
4
5
mass[i].f_name
mass[i].l_name
mass[i].age
//работает идеально
mass[i].sex //ругается, дескать, недопустимо в кач-ве выражения с правой стороны оператора "."
Собственно, сабж. С чем такие перечисления едят обычно, а с чем их употреблять будет вкуснее?
0
ShadowFirst
55 / 48 / 1
Регистрация: 31.10.2013
Сообщений: 161
24.12.2013, 09:14 #4
C++
1
2
3
4
5
6
7
8
9
10
11
struct Person
{
    char f_name[20];             //Имя  
    char l_name[20];            //Фамилия
    int age;            //Возраст
    enum sex            //Пол
    {
        male
        female
    } mass[20];
}
Эта структура не совсем та что вам нужна по заданию, у вас говорится что должен быть массив структур таких, а здесь такое ощущение что пытались сделать массив перечислений. По этому предлагаю немного изменить структуру:
C++
1
2
3
4
5
6
7
8
9
10
11
struct Person
{
    char f_name[20];             //Имя  
    char l_name[20];            //Фамилия
    int age;            //Возраст
    enum Sex            //Пол
    {
        male,
        female
    } sex;
};
А вот когда вы создаете экземпляр структуры предположим в main это это должно выглядеть примерно так:
C++
1
2
3
4
int main ()
{
    struct Person persons[20];
}
И честно не знаю где ваша запись работает идеально, компилируется да, идет на выполнение тоже да, но все равно мне кажется это очень сомнительным.

А насчет того с чем едят перечисления, то они нужны тогда когда ты хочешь не использовать безликое, голое число, а как то его его назвать.
0
Satirist
0 / 0 / 0
Регистрация: 23.12.2013
Сообщений: 5
24.12.2013, 09:33  [ТС] #5
очепятался немного, выглядеть это должно так
C++
1
2
3
4
5
6
7
8
9
10
11
struct Person
{
    char f_name[20];             //Имя  
    char l_name[20];            //Фамилия
    int age;            //Возраст
    enum sex            //Пол
    {
        male
        female
    };
}mass[20]
И таки значения в массив mass записываются и успешно читаются. Единственный вопрос - как обращаться к enum sex. Например, как считать из файла такой формат данных:
Дмиитрий Нестеренко 22 male
0
ShadowFirst
55 / 48 / 1
Регистрация: 31.10.2013
Сообщений: 161
24.12.2013, 10:06 #6
Цитата Сообщение от Satirist Посмотреть сообщение
очепятался немного, выглядеть это должно так
C++
1
2
3
4
5
6
7
8
9
10
11
struct Person
{
    char f_name[20];             //Имя  
    char l_name[20];            //Фамилия
    int age;            //Возраст
    enum sex            //Пол
    {
        male
        female
    };
}mass[20]
И таки значения в массив mass записываются и успешно читаются. Единственный вопрос - как обращаться к enum sex. Например, как считать из файла такой формат данных:
Дмиитрий Нестеренко 22 male
Как я и писал enum идет так же как и структура, у него тоже должно быть свое имя:
C++
1
2
3
4
5
6
7
8
9
10
11
struct Person
{
    char f_name[20];             //Имя  
    char l_name[20];            //Фамилия
    int age;            //Возраст
    enum Sex            //Пол
    {
        male,
        female
    } sex;
};
И перечисления идут через запятую

Добавлено через 7 минут
Вот как считать, предположим вы считали из файла буффер длиной структура, обзовем это просто buffer с типом char;
C++
1
    memcpy(&mass[i], buffer, sizeof(struct Person));
Только имейте ввиду что компиляторы любят выравнивать структуры, и честно не знаю какой тип данных и соответственно количество байт занимает перечисления, никогда не задавался вопросом.
0
Satirist
0 / 0 / 0
Регистрация: 23.12.2013
Сообщений: 5
24.12.2013, 10:30  [ТС] #7
Угумц. Компилятор теперь не ругается, но проблема еще открыта.
Если я все правильно понимаю, в 3 первых поля(фамилия, имя, возраст) записываются любые значения, подходящие под этот тип данных. А вот 4й, который пол, - может нести только 2 значения(в данном случае, офк) - male и female. Разве нет?
Или каждому полю в enum ровно так же присваиваются свои значения? Тогда я просто натупил и вопрос отпадает.
В общем, вот вся программка
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
#include <iostream>
#include <cstdlib> // Для работы с функцией system()
#include <string>
#include <windows.h>
#include <stdio.h>
 
using namespace std;
 
struct Person
{
    char f_name[20];    //Имя   
    char l_name[20];    //Фамилия
    int age;            //Возраст
    enum sex            //Пол
    {
        male,   
        female  
    }sex;
} mass[20];
void readtxt()
{
    FILE *f1;
    f1 = fopen("input.txt","r");
    for (int i = 0; i < 2; i++)
    fscanf(f1,"%s %s %d",&mass[i].f_name, &mass[i].l_name, &mass[i].age);
    fclose(f1);
}
 
void writetxt()
{
    FILE *f2;
    f2 = fopen("output.txt","w");
    for (int i = 0; i < 2; i++)
    fprintf(f2,"%s %s %d\n",mass[i].f_name, mass[i].l_name, mass[i].age);
    fclose(f2);
}
                
int main (void)
{
setlocale(LC_ALL,"Russian"); //корректно отображаем русский шрифт в окошке консоли
 
readtxt();
writetxt();
 
system("pause");
}
0
ShadowFirst
55 / 48 / 1
Регистрация: 31.10.2013
Сообщений: 161
24.12.2013, 10:47 #8
В enum это теже числа только они имеют каждое свое имя, в вашем случае это male и female. Единственное Сразу присвойте им эти значения что бы они у вас были забиты, а то бывает что они могут быть случайными при новом запуске программы, то есть:
C++
1
enum sex {male = 1, female = 2};
Еще раз повторюсь я не знаю какой тип используется может char может short int может int, скорее всего последнее, но лучше проверьте таким вот способом:
C++
1
std::cout << sizeof (Person::male);
1
Satirist
0 / 0 / 0
Регистрация: 23.12.2013
Сообщений: 5
24.12.2013, 11:23  [ТС] #9
Угу. Спасибо, допер. Пошел дописывать и дальше курить мануалы
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.12.2013, 11:23
Привет! Вот еще темы с ответами:

Функции: вычислить значение сложной (составной) функции - C++
помогите,пожалуйста!! 1)Y= Max(a,b) если х=0 y=Min(a,b) если х=1 y= |a+b| ...

В главной функции main () ввести входные данные, и вызвав собственные функции, вычислить значение выражения и вывести результаты - C++
В главной функции main () ввести входные данные, и вызвав собственные функции, вычислить значение выражения и вывести результаты. ...

Вычислить значение функции - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; #include &lt;locale.h&gt; using namespace std; ...

Вычислить значение функции - C++
Помогите решить пожалуйста. Пользуйтесь редактором формул внизу страницы! F(x)=\left\{\begin{matrix}1.2{x}^{2}-3x-9, for...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
24.12.2013, 11:23
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru