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

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

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

Исправить задачу,если получится. Спасибо! - C++

07.12.2015, 23:57. Просмотров 236. Ответов 4
Метки нет (Все метки)

само задание звучит так:
напишите программу которая вычисляет значение по формуле f(a)+2f(a+h)+2f(a+2h)...+2f(a+(n-1)h)+f(a+nh)
где f(x)=(x^2+1)*cos^2x
в первой строке содержится число a и h(|a|<25,|h|<25),натуральное число n(1<=n<=100)

У преподавательницы видел ответы.Вот так у неё расписано:
при a=2 h=3 n=4
f(2)+2(f+3)+2f(2+2*3)+2f(2+3*3)+2f(222+4*3)=F
f(2)=(2*2+1)*cos2*cos2=4.99
f(5)=25.8
f(8)=63.74
f(11)=117.558
f(14)=185.347
F=4.99+2*25.8+2*63.74+2*117.558=604.533
Вот мои наброски,но всё не так.

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
#include <iostream>
#include <iomanip>
#include <cmath>
#include <conio.h>
 
    using namespace std;
 
    double f(double x) {
        return (pow(x, 2) + 1) * pow(cos(x), 2);
        cout << f << endl;
    }
 
    int main() {
        setlocale(LC_ALL, "Rus");
        double a, h;
        int n;
        cout << "Введите a,h,n:";
        cin >> a >> h >> n;
        int k = n;
        if ((a > 25 || a < 1) || (h>25 || h < 1) || (n>100 || n < 1)) cout << "Условие не выполняется";
        else
        {
            double sum = 1;
            double F;
            for (int i = 1; i <= k; i++) {
                sum = f(a) + 2 * f(a + h) + 2 * f(a + 2 * h) + 2 * f(a + (n - 1)*h) + f(a + n*h); /*sum+ и sum* пробовал,значения не подходят*/
                F = f(2) + 2 * f(5) + 2 * f(8) + 2 * f(11) + 2 * f(14);
                cout << F << endl;
            }
        }
        _getch();
    }
Помогите идеями
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2015, 23:57
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Исправить задачу,если получится. Спасибо! (C++):

Если к сумме цифр возраста прибавить число рождения, то получится возраст. Сколько лет долгожитепю? - C++
Долгожитель (возраст не более 100 лет) обнаружил однажды, что если к сумме цифр его возраста прибавить чисто его рождения, то как раз...

Если к сумме цифр двузначного числа прибавить квадрат этой суммы, то снова получится это двузначное число - C++
Задание: Написал примерный код, но сомневаюсь что правильно применил цикл. Сейчас компилятора нету проверить не могу. Посмотрите и...

исправить задачу - C++
вот есть задача 1 фотография и решение её и Из этой задачи нужно сделать как то решение ко 2й задаче которая на фотографии 2.Я понимаю что...

Написать программу поиска двузначных чисел, обладающих следующим свойством: если к сумме цифр числа прибавить квадрат этой суммы, то получится снова д - C++
Написать программу поиска двузначных чисел, обладающих следующим свойством: если к сумме цифр числа прибавить квадрат этой суммы, то...

Нужно исправить задачу вычисления суммы - C++
Вычислить сумму. s=1/(2+3)+2/(3+4)+..+10/(11+12) через цикл for Вот что получилось.

Поиск элементов массива, исправить задачу - C++
Задан числовой массив А. Составить программу поиска элементов массива, которые является наименьшим из отрицательных чисел, расположенных...

4
bizba
6 / 6 / 4
Регистрация: 29.10.2015
Сообщений: 45
08.12.2015, 00:25 #2
В цикле скорее всего надо так:

C++
1
2
3
for (int i = 1; i <= k; i++) {
                sum = sum + 2 * f(a + i*h);
}
но у меня на калькуляторе
f(2)=(2*2+1)*cos2*cos2 = не 4.99, а 0.865891

??
0
lego123
0 / 0 / 0
Регистрация: 07.12.2015
Сообщений: 54
08.12.2015, 00:31  [ТС] #3
Ваш вариант я тоже рассматривал...

Добавлено через 1 минуту
извиняюсь за ошибку здесь:
Код
f(2)+2(f+3)+2f(2+2*3)+2f(2+3*3)+2f(/*2*/+4*3)=F
0
bizba
6 / 6 / 4
Регистрация: 29.10.2015
Сообщений: 45
08.12.2015, 11:49 #4
Ну и что такой вариант не подходит?

C++
1
2
3
4
sum = f(a);
for (int i = 1; i <= k; i++) {
                sum = sum + 2 * f(a + i*h);
}
0
lego123
0 / 0 / 0
Регистрация: 07.12.2015
Сообщений: 54
08.12.2015, 19:11  [ТС] #5
Ну введи значения 2 3 4,и получилось ответ 11..... а нужен 603....
0
08.12.2015, 19:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2015, 19:11
Привет! Вот еще темы с ответами:

Нужно исправить задачу с шаблоном (найти корень каждого числа массива) - C++
задача состоит в том, чтобы найти корень каждого числа массива. Вводим 2 массива по отдельности. Первый массив должен быть int, второй...

буду признателен если подскажете как сделать задачу с функции С++ - C++
y=x-(pow(x,3))/3+(pow(x,5))/5-(pow(x,7))/7+...

Исправить задачу (Вычислить и вывести на экран ввиде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX) - C++
подскажите где и что мне надо изменить, что бы получилась данная задача. Вычислить и вывести на экран ввиде таблицы значения функции F на...

С++ исправить задачу "двумерные массивы" - C++
Помогите плиз ее исправить! Дана целочисленная квадратная матрица. Определить : 1 сумму элементов в тех столбцах , которые не содержат...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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