Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Правильно ли я нашел max функции на интервале 
V
    Опции темы
Killer_13
Дата 13.5.2009, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 12.1.2008
Где: Germany

Репутация: 1
Всего: 1



Здравствуйте.
Вопрос даже чуток математического характера.
Значит нужно найти максимальное значение функции на отрезке между x1 и x2.
x1 и x2 вводятся с клавиатуры.

вот код.
Язык "С"

Код

#include <stdio.h>
#include <math.h>

#define N 10
#define SINUS sin(x*x)
int montecarlo(void);
int main()
{
montecarlo();

return 0;
}

int montecarlo(void)
{
    int x,x1,x2;
    double z,i,h,max=0;
        printf ("--------------------------------");
        printf ("\nGeben Sie Wert1 \"x1\" ein.\n>>>");
        scanf("%d",&x1);
        printf ("\nGeben Sie Wert2 \"x2\" ein.\n>>>");
        scanf("%d",&x2);

    if(x2<=x1){
        printf ("Error - x2<=x1");
        exit(1);

    }
    z=(x2-x1)/N;
    for(i=0;i<=x2;i+=z){
    x=x1;
    x1=i;
    h=SINUS;
    if(h>max)
    max=h;
    }
    printf ("Max=%lf\n\n",max);
}



PM MAIL   Вверх
Dmi3ev
Дата 14.5.2009, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 13
Всего: 41



Цитата

Правильно ли я нашел max функции на интервале

проверь на калькуляторе...  smile

Добавлено через 3 минуты и 26 секунд
кстати программа логически неверна
Цитата

max=0

а если на промежутке (х1, х2) максимум отрицателен? то у тебя выведется что максимум 0, а это не так  smile

Добавлено через 11 минут и 53 секунды
Код

for(i=0;i<=x2;i+=z)

а почему тут i от 0 изменяется, если вы ищете максимум на прмежутке?
есть еще косяки... функция я так понимаю sin(x*x)?

Добавлено через 13 минут и 4 секунды
Цитата

    x=x1;
    x1=i;

это че ваще? ты как Лесли Нильсон пытаешься всех запутать?


--------------------

PM MAIL   Вверх
Dmi3ev
Дата 14.5.2009, 01:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 13
Всего: 41



что-то вроде...
Код

#include <stdio.h>
#include <math.h>
#include <conio.h>

#define N 10

int montecarlo()
{
        int x1,x2;
        double z, h, max;
        printf ("Start: ");
        scanf("%d",&x1);
        printf ("Finish: ");
        scanf("%d",&x2);
        if(x2<x1)
        {
                printf ("Error!\n");
                return -1;
        }
        z=(x2-x1)/N;
        if (z==0)
        {
                printf ("Max=%3.2f\n", sin(x1*x1));
                return 1;
        }

        max=sin(x1*x1);
        x1+=z;
        while(x2<=x1)
        {
                h=sin(x1*x1);
                if(h>max)
                        max=h;
                x1+=z;
        }
        printf ("Max=%3.2f",max);
        printf("\n");
        return 0;
}

int main()
{
        montecarlo();
        getch();
        return 0;
}

только вот эта строка
Код

#define N 10

меня напрягает, потому как если у тебя будет промежуток от 1 до 2, то шаг будет 0,1, вроде бы нормально, а если у тебя х от 1 до 51, то шаг будет 5, те сложновато будет утверждать что максимум это максимум, я бы сделал постоянный шаг и не парился бы... но дело твое...


--------------------

PM MAIL   Вверх
Killer_13
Дата 14.5.2009, 01:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 12.1.2008
Где: Germany

Репутация: 1
Всего: 1



пасиб, посмотрю
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0408 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.