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

Найти произведение отрицательных значений функции - C++

Восстановить пароль Регистрация
 
KyKi
3 / 3 / 0
Регистрация: 12.09.2013
Сообщений: 129
12.09.2013, 15:46     Найти произведение отрицательных значений функции #1
Ребят,срочно нужна помощь,есть задание:
Определить произведение отрицательных и максимальное среди положительных значений функции y=ln(x-3),если х изменяется от хn до xk с шагом dx.
никак не могу найти хоть примерно как это делается(только начинаю вникать в С++..подайте хоть идею как это сделать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.09.2013, 15:46     Найти произведение отрицательных значений функции
Посмотрите здесь:

количество отрицательных значений функции C++
Найти произведение положительных/отрицательных элементов массива C++
C++ Найти сумму и количество отрицательных значений функции
Вычислить среднее арифметическое всех отрицательных значений функции C++
Найти произведение отрицательных элементов массива C++
Найти произведение отрицательных элементов массива C++
Найти произведение отрицательных чисел массива C++
C++ Произведение суммы значений отрицательных элементов массива, лежащих между min и max, на их количество

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
KyKi
3 / 3 / 0
Регистрация: 12.09.2013
Сообщений: 129
12.09.2013, 18:01  [ТС]     Найти произведение отрицательных значений функции #2
Вот что-то такое получается,но программа не работает.Сразу после ввода значений,закрывается.Подскажите,где ошибка??


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <cmath>
using namespace std;
 
void main()
{              double x,y,xn,xk,dx,p,m;
    cout<<"\n xn=";
    cin>>xn;             //начальное значение х
    cout<<"\n xk=";
    cin>>xk;             //конечное значение х
    cout<<"\n dx=";
    cin>>dx;
    x=xn;
    p = 1;
    m=0;
    do {
        y=log(x-3);
        if (y<0) p*=m;
        else if (y>m) m=y;
        x+=dx;
    } while (x<=xk);
}
monolit
179 / 179 / 21
Регистрация: 24.03.2011
Сообщений: 641
Завершенные тесты: 1
12.09.2013, 20:22     Найти произведение отрицательных значений функции #3
C++
1
2
3
4
5
6
7
8
9
double maxVal = 0; //максимальное среди положительных
double prod = 1; //произведение отрицательных
for(double x = xn; x<xk; x+=dx) {
   double y = log(x-3);
   if(y<0) prod *= y;
   else maxVal = max(maxVal, y);
}
cout << "max: " << maxVal << endl;
cout << ">>" << prod << endl;
Естественно, оно закрывается. Программа выполнилась, чего ей ждать то?
C++
1
system("pause");
Вот тут неправильно:
Цитата Сообщение от KyKi Посмотреть сообщение
if (y<0) p*=m;
Yandex
Объявления
12.09.2013, 20:22     Найти произведение отрицательных значений функции
Ответ Создать тему
Опции темы

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