Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2011, 00:07   #1
Extez1
Пользователь
 
Регистрация: 18.04.2009
Сообщений: 27
По умолчанию C# Функции(ошибка)

if (TK > Tfin * 60)// "при этом условии мне надо выйти из функции, как это сделать?"
Код:
        static public double SERVICE(int Jmin, double[] Tz, int Iz, double[] TOK, double TWmax, double Tobcscp,double DTobs,double Tfin,double[] Nobs)
        {
            int j = Jmin;
            double TK;
            double TH = Tz[Iz];
            if (Tz[Iz] < TOK[j])
            {
                double DTWait = TOK[j] - Tz[Iz];
                if (DTWait > TWmax); 
                else TH = TOK[j];

            }
            Random z = new Random(1);
            TK = TH + Tobcscp + DTobs * (z.NextDouble() - 0.5);
            if (TK > Tfin * 60)// "при этом условии мне надо выйти из функции, как это сделать?"
            {
                TOK[j] = Tfin;
                
            }
            Nobs[j] = Nobs[j] + 1;
            TOK[j] = TK;
            return Nobs[j];
        }
    }
}
SERVICE(Jmin,Tz,Iz,TOK,TWmax,Tobcsc p,DTobs,Tfin,Nobs); // "непонимаю почему не видет Jmin"
Код:
        static public double Raschet(double Nkan, double Tobcscp, double TZcp, double DTobs, double TWmax, double Tfin, double Nr)
        {
            double[] Tz = new double[Nzmax]; //Массив времён поступления
            double[] Nobs = new double[NKmax]; //Число обслуженных заявок в каналах
            double[] TOK = new double[NKmax]; //Время осовобождения канала
            double  Cotn;
            int Nz,Jmin;
            double SNobs = 0;  // Суматор числа обслуженных заявок
            for (int Ir = 1; Ir < Nr; ++Ir) // цикл случайных реализаций
            {
                Nz = 0;  //обнуление числа заявок
                for (int i = 1; i < NKmax; ++i)
                {
                    Nobs[i] = 0;
                    TOK[i] = 0;
                } // конец цикла for (int i = 1; i < NKmax; ++i)
                ZAJAVKA(Nz, Tz, Tfin, TZcp);
                for (int Iz = 1; Iz < Nz; ++Iz)// Обслуживание каналов
                {
                    double TKmin = 100;
                    for (int j = 0; j < Nkan; ++j)
                    {
                        if (TOK[j] < TKmin)
                        {
                            TKmin = TOK[j];
                            Jmin = j;
                        }
                    } // конец цикла for (int j = 0; j < Nkan; ++j)
                    SERVICE(Jmin,Tz,Iz,TOK,TWmax,Tobcscp,DTobs,Tfin,Nobs); // "непонимаю почему не видет Jmin"
                } // конец цикла for (int Iz = 1; Iz < Nz; ++Iz)
            } // конец цикла for (int Ir = 1; Ir < Nr; ++Ir)
            Cotn = SNobs / Nr - 1 + 0.5 * Nkan * Nkan;
            return Cotn;
        }
Extez1 вне форума Ответить с цитированием
Старый 17.03.2011, 00:21   #2
Тошка
Пользователь
 
Регистрация: 10.03.2011
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Extez1 Посмотреть сообщение
if (TK > Tfin * 60)// "при этом условии мне надо выйти из функции, как это сделать?"
Я конечно только сам начинаю изучать, но возможно return и значение которое должна вернуть функция, или просто return; если ничего возвращать не нужно?

Последний раз редактировалось Тошка; 17.03.2011 в 02:26.
Тошка вне форума Ответить с цитированием
Старый 17.03.2011, 12:43   #3
val_nnm
Форумчанин
 
Регистрация: 18.10.2009
Сообщений: 185
По умолчанию

В первом случае действительно поставте return со значение которое нужно вернуть (поскольку функция возвращает double то возвращаемое значение обязательно) например напишите
Код:
            if (TK > Tfin * 60)// "при этом условии мне надо выйти из функции, как это сделать?"
            {
                TOK[j] = Tfin;
                return Nobs[j];
            }

В втором примере он у вас скорее всего видит переменную Jmin но говорит что её значение может быть неопеделенно.
если это так то напишите
Код:
                ...
                ...
                for (int Iz = 1; Iz < Nz; ++Iz)// Обслуживание каналов
                {
                    double TKmin = 100;
                    Jmin = 0;
                    for (int j = 0; j < Nkan; ++j)
                    {
                    ...
                    ...
но в этих примерах ещё нужно разобраться со смылом того что же всётаки эти процедуры должны делать. Тачто смотрите сами, это лиш только вариант.
На С# пишу лучше чем на русском.
"У меня правильнописание хромает. Оно хорошее, но почему-то хромает."
val_nnm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка в функции grafgrial Общие вопросы Delphi 4 06.01.2011 15:02
Ошибка в функции Lotles Общие вопросы C/C++ 10 26.11.2010 16:04
Ошибка в функции Richard22 Общие вопросы Delphi 1 16.05.2010 13:02
С++. Функция в функции = ошибка phpcreator Помощь студентам 2 01.10.2009 23:34
С++. ошибка в функции. phpcreator Помощь студентам 4 16.09.2009 18:42