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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Почему на выходе такие результаты? 
:(
    Опции темы
razervip
Дата 14.12.2016, 03:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Подскажите, пожалуйста, почему на выходе получаются такие результаты.. smile 

Код

#include <iostream>
#include <cmath>
using namespace std;

double C1 = 0.1, C2 = 0.2, C3 = 0, T1 = 650, A1 = 8000, A2 = 4000, A3 = 300000, E1 = 72600, E2 = 77000, E3 = 87000, Ro = 1.4, R = 8.31, u = 0.1, l;

double f1(double C1, double C2, double C3, double k1, double k2, double k3)
    {
        return (-2 * k1 * C1 * C2 - k2 * C1 * C2)/u;
    }
double f2(double C1, double C2, double C3, double k1, double k2, double k3)
    {
        return (-9 * k1 * C1 * C2 - 12 * k2 * C1 * C2 - 9 * k3 * C3 * C2)/u;
    }
double f3(double C1, double C2, double C3, double k1, double k2, double k3)
    {
        return (2 * k1 * C1 * C2 - k3 * C3 * C2)/u;
    }

double MM(double L, double *T)
    {
        double h = 0.001, k1, k2, k3, C10, C20, C30, T0, Tt;
        
        for (l = 0; l <= L && C3 * 1.48 / Ro < 4.0; l+= h)
        {
            C10 = C1;
            C20 = C2;
            C30 = C3;
            T0 = T1;
            k1 = A1 * exp(-E1 / (R * T0));
            k2 = A2 * exp(-E2 / (R * T0));
            k3 = A3 * exp(-E3 / (R * T0));
            C1 = C10 + h * f1(C10, C20, C30, k1, k2, k3);
            C2 = C20 + h * f2(C10, C20, C30, k1, k2, k3);
            C3 = C30 + h * f3(C10, C20, C30, k1, k2, k3);
            if (l >= 0) Tt = T[0];
            if (l >= L / 4) Tt = T[1];
            if (l >= L / 2) Tt = T[2];
            if (l >= 3 * L / 4) Tt = T[3];
        }
        
        return l;
    }
    
int main()
{
    setlocale(LC_ALL, "Russian");
    
    cout<<"Функция 1 равна "<<f1<<".\n";
    cout<<"Длина трубы равна "<<l<<".\n";
    
    system("pause");
    return 0;
}


Это сообщение отредактировал(а) razervip - 14.12.2016, 03:56
PM MAIL   Вверх
feodorv
Дата 14.12.2016, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

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



Как-то так, наверное:
Цитата(razervip @  14.12.2016,  03:55 Найти цитируемый пост)
    cout<<"Функция 1 равна "<<f1(аргументы)<<".\n";
    cout<<"Длина трубы равна "<<MM(аргументы)<<".\n";

Что там зависит от тщательно вычисляемого значения Tt в MM(), я так и не понял...


--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
razervip
Дата 14.12.2016, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(feodorv @ 14.12.2016,  15:39)
Как-то так, наверное:
Цитата(razervip @  14.12.2016,  03:55 Найти цитируемый пост)
    cout<<"Функция 1 равна "<<f1(аргументы)<<".\n";
    cout<<"Длина трубы равна "<<MM(аргументы)<<".\n";

Что там зависит от тщательно вычисляемого значения Tt в MM(), я так и не понял...

С Tt не заморачивайся.) С выводом f1 и MM я вот никак разобраться не могу, про аргументы потом допетрило.)
Почему вот на выходе опять такие результаты?
user posted image
PM MAIL   Вверх
feodorv
Дата 15.12.2016, 02:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

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



А чему равны k1, k2, k3 в новой версии программы?


--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
razervip
Дата 16.12.2016, 00:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(feodorv @ 15.12.2016,  02:42)
А чему равны k1, k2, k3 в новой версии программы?

Ничему не равны. Их необходимо рассчитать по тем же формулам, что и в старой версии кода. smile
PM MAIL   Вверх
feodorv
Дата 16.12.2016, 05:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

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



Цитата(razervip @  16.12.2016,  00:43 Найти цитируемый пост)
Ничему не равны. Их необходимо рассчитать по тем же формулам, что и в старой версии кода.

Гм.  smile 
В старой версии кода хоть какая-то попытка рассчитать k1, k2, k3 делалась в функции MM(), и то в цикле. Но согласно скрину, в новой версии Вы сначала вызываете f1(), f2(), f3(), передавая им неопределённые (явным образом неинициализированные) значения переменных k1, k2, k3, и хотите чтобы всё волшебным образом рассчиталось. Так не получится)))


--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
Romikgy
Дата 16.12.2016, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



что за данные T & L ?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
lovelin1987
Дата 18.12.2016, 05:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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




Модератор: Сообщение скрыто.

PM MAIL   Вверх
Olej
Дата 18.12.2016, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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

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

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

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

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


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

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


 




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


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

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