Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/315: Рейтинг темы: голосов - 315, средняя оценка - 4.90
0 / 0 / 0
Регистрация: 23.07.2012
Сообщений: 15

Вычислить значение функции при разных аргументах, Visual C++

23.07.2012, 23:11. Показов 59584. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет! Нужно написать программку на вычисление функции, но незнаю с чего начать и чем закончить, только начал учить С++ Ребята, помогите, очень нужно.
Условие: Написать программу на вычисление значения функции при разных значения аргументов, заданных интервалом смены и величины шага. Сам пример на картинке. Заранее всем огромное спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.07.2012, 23:11
Ответы с готовыми решениями:

Вычислить значение функции при разных аргументах, C
Приветствую. Помогите пожалуйста написать программку на вычисление функции. Только начал учить С. Программку написал, но все равно выходит...

Вычислить значения функции при указанных аргументах
Пожалуйста, помогите написать прогу на делфи Вычислить значения функции при указанных аргументах (сначала для 1-го х, потом для 2-го х)....

Вычислить значение функции при разных условиях
решите пожалуйста. y=\begin{cases}(\pi +x)^a & \text{, } \operatorname{tg}(a+x)\leq 1\\\\ \operatorname{ctg}(ax) & \text{, }...

14
 Аватар для Кот Ангенс
320 / 270 / 128
Регистрация: 24.05.2012
Сообщений: 629
24.07.2012, 13:49
А при x >= 1 функция чему равна?
1
0 / 0 / 0
Регистрация: 23.07.2012
Сообщений: 15
24.07.2012, 15:46  [ТС]
Там нету такого условия, там только то, что на картинке.

Добавлено через 1 час 55 минут
Вот попытался написать, но в итоге получается много одинаковых результатов, я уже не знаю, что делать, ребят помогите пожалуйста, очень надо!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream.h>
#include <math.h>
#include <iomanip.h>
void main ()
    
 
 
{ 
    double x, y, a=0.75, b=1.19, c=-2.5;
    
    if (x<0.5)
        y=a*x+b*cos(x);
    else if (x>=0.5 && x<1)
         y=b*pow(x,2)+c*sin(2*x);
    for (x=0;x<=2;x+=0.2)
        cout<<"Y="<<setprecision(3)<<y<<endl;
}
0
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
24.07.2012, 16:04
Если x вводится с клавиатуры, то :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <cmath>
#include <stdio.h>
#include <conio.h>
double a = 0.75, b = 1.19, c = -2.5, h = 0.1;
double CalcY(double x)
{
double y;
if (x < 0.5)
y = a*x + b*cos(x);
else
y = b*pow(x, 2) + c*sin(2*x);
// Нужно ли делать ещё что-то с y?
return y;
}
 
void main()
{
for (double i=0; i<=2; i+=h)
printf("%d\n", CalcY(i);
_getch();
}
1
0 / 0 / 0
Регистрация: 23.07.2012
Сообщений: 15
24.07.2012, 16:19  [ТС]
Запустил ваш вариант, у меня выводило большие числа, ничего вводить не нужно (вы написали, что х вводиться с клавиатуры). С "у" ничего больше делать не нужно (условие задачи писал вверху). Спасибо за помощь, но немного не разобрался в работе программы, не могли бы написать несколько комментариев?
0
 Аватар для Кот Ангенс
320 / 270 / 128
Регистрация: 24.05.2012
Сообщений: 629
24.07.2012, 16:33
В условии написано, что x принимает значения в диапазоне [0; 2], а функция определена для диапазона (-inf; 1). Можешь передать преподавателю, что задача некорректна.
1
0 / 0 / 0
Регистрация: 23.07.2012
Сообщений: 15
24.07.2012, 16:55  [ТС]
Спасибо! Ну а все же, если бы диапазон был не таким, то как ее написать? Если вас не затруднит.

Добавлено через 17 минут
Ребят, а если не учитывать, что х лежит [0,2], то данный код есть правильным? И еще раз всем спасибо!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <cmath>
#include <iostream.h>
#include <iomanip.h>
void main()
 
{
double x, y, a=0.75, b=1.19, c=-2.5, h=0.1;
 
    for(x=0;x<0.5;x+=h)
    {   y=a*x+b*cos(x);
    cout<<"y="<<setprecision(2)<<y<<endl;
    }
    
    for(x=0.5;x<1;x+=h)
    
    {   y=b*pow(x,2)+c*sin(2*x);
        cout<<"Y="<<setprecision(2)<<y<<endl;
    }
}
0
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
24.07.2012, 16:56
Цитата Сообщение от Lokoss Посмотреть сообщение
Спасибо! Ну а все же, если бы диапазон был не таким, то как ее написать? Если вас не затруднит.
Да, в некоторых местах ошибся, ибо писал без проверки. Поправь :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <cmath>
#include <stdio.h>
#include <conio.h>
double a = 0.75, b = 1.19, c = -2.5, h = 0.1;
double CalcY(double x)
{
double y;
if (x < 0.5)
y = a*x + b*cos(x);
else
y = b*pow(x, 2) + c*sin(2*x);
// Нужно ли делать ещё что-то с y?
return y;
}
 
void main()
{
for (double i=0; i<=2; i+=h)
printf("%lf\n", CalcY(i)); // Здесь нужна была ещё одна скобка и %lf, а не %d
_getch();
}
p.s Считал я от 0 до 2, но при этом не учитывал того, что второе условие до 1. Тут уж решай сам, какой промежуток использовать. Если все-таки с [0;1), то исправь эти строчки :
1) for (double i=0; i<=2; i+=h)
на for (double i=0; i<1; i+=h)
2) else
на else if (x <= 1) // не обязательно, ибо по for передается до 1

Если хочешь указать точность, то вместо %lf напиши, допустим, %.2lf
p.s Ну твой код правильный, но "не красивый" : )
1
 Аватар для nikitos7832
3 / 3 / 0
Регистрация: 26.03.2012
Сообщений: 27
24.07.2012, 16:56
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream.h>
#include <math.h>
#include <iomanip.h>
#include <conio.h>
int main () {
double x=0, y=0, h=0.1, a=0.75, b=1.19, c=-2.5;
while (x<0.5)
{
    y=a*x+b*cos(x);
    cout << "x=" << x << "     y=" << y << endl;
    x+=h;
}
while ((x>=0.5)&&(x<1))
{
    y=b*x*x+c*sin(2*x);
    cout << "x=" << x << "     y=" << y << endl;
    x+=h;
}
_getch();
}
1
0 / 0 / 0
Регистрация: 23.07.2012
Сообщений: 15
24.07.2012, 17:01  [ТС]
Господа! Огромнейшее вам спасибо, вы меня очень выручили! Когда лучше выучу с++, тоже буду помогать кому-то!
0
0 / 0 / 0
Регистрация: 23.07.2012
Сообщений: 15
24.07.2012, 18:34  [ТС]
Ребята, еще одна проблемка Делал задание (на рисунку), и при запуске программы, она начинает считать до бесконечности, что не так сделал? Помогите еще пожалуйста

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
#include <iostream.h>
#include <math.h>
#include <iomanip.h>
void main()
 
{
    double z, x=0, y=0, t=x+y, a=1, b=2, h1=0.1, h2=0.2;
    
    while(t<=1)
    {
        z=pow(a,x)+pow(b,y);
        cout<<"x="<<setprecision(3)<<x<<"   z="<<z<<endl;
        x+=h1;
        y+=h2;
    }
 
    while(t>1)
    {
        z=a*pow(x,2)+log(b*x*y);
        cout<<"x="<<setprecision(3)<<x<<"   z="<<z<<endl;
        x+=h1;
        y+=h2;
    }
}
0
 Аватар для Intel~lect
137 / 126 / 14
Регистрация: 03.07.2012
Сообщений: 355
24.07.2012, 18:37
Переменная t не изменяется в цикле. То есть условие продолжения всегда true
C++
1
2
3
4
5
6
7
8
while(t<=1)
    {
        z=pow(a,x)+pow(b,y);
        cout<<"x="<<setprecision(3)<<x<<"   z="<<z<<endl;
        x+=h1;
        y+=h2;
        t = x + y;
    }
И во втором также дописать
1
0 / 0 / 0
Регистрация: 23.07.2012
Сообщений: 15
24.07.2012, 18:46  [ТС]
Спасибо большое!

Добавлено через 1 минуту
Эээм... Это не помогло, программа дальше считает до бесконечности
0
 Аватар для Intel~lect
137 / 126 / 14
Регистрация: 03.07.2012
Сообщений: 355
24.07.2012, 18:52
Попробуй у второго цикла просто условие изменить.
C++
1
2
3
4
while (x+y>1 && x<=2 && y<=2)
{
...
}
Думаю так должна работать
1
0 / 0 / 0
Регистрация: 23.07.2012
Сообщений: 15
24.07.2012, 19:04  [ТС]
Оу, спасибо, помогло!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.07.2012, 19:04
Помогаю со студенческими работами здесь

Вычисления значений при разных аргументах
Помогите составить программу вычисления значений Y при разных значения X при х начальном =0.1, х конечным=0.9 с шагом 0.1

Вычислить значения функции при указанных аргументах (сначала для 1-го х, потом для 2-го х)
Вычислить значения функции при указанных аргументах (сначала для 1-го х, потом для 2-го х). Значения a и b задать в виде констант.

Почему функция сравнения возвращает одно и то же при разных аргументах?
Доброе время суток, товарищи ) Помогите плиз, разобраться в таком вопросе: была сделана задачка, но результаты ее какие-то странные. ...

Вычислить значения функции при указанных аргументах (сначала для 1-го х, потом для 2-го х). Значения a и b зад
Вычислить значения функции при указанных аргументах (сначала для 1-го х, потом для 2-го х).

Вычисления функции при заданных аргументах
Написать программу вычисления функции при заданных значениях аргументов. Результаты вывести экран дисплея.


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru