![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 13.05.2009
Сообщений: 2
|
![]()
Подскажите пожалуйста, есть программа, которую очень нужно переделать в С# ) Сама она выглядит вот так (найдено в древней книжке =))
#include <stdio.h> #include <stdlib.h> #include <math.h> #define RND ((float)rand()/32768.0) //Функция lg() -> ln(x) float lg(void) { float x, ARG=1e-6; X=RND; if (x<ARG) x+=ARG; return log(x); } void main() { int n[2], np[2], nm[2], nmax, I, j, pp; float ns[2], nss, TP[2], TW[2], TM, tp[2], tw, t, ts, dt; static float tqq, tqs[2],tss,tq[2],tqm,st[100] [2],sum[2]; FILE *fp; fp=fopen(“system.txt”,”w”); //Ввод варианта моделирования for (i=o;i<2;i++) { printf(“введите TP[%d} : “,i); scanf (“%f”,&TP[i]); printf(“введите TW[%d} : “,i); scanf (“%f”,&TW[i]); } printf (“введите время моделирования TW:”) scanf(“%f”,&TM); //Печать варианта моделирования fprintf (fp,”\n\n\t\t ИСХОДНЫЕ ДАННЫЕ “); fprintf (fp,”\n Интервал времени между заявками: TP[0]=%4.2f” “TP[1]=4.2f”,TP[0],TP[1]); fprintf (fp,”\n Среднее время выполнения заявок : TW[0]=%4.2f” “TW[1]=4.2f”,TW[0],TW[1]); fprintf (fp,”\n Время моделирования: TM[0]=%6.1f”, TM); fprintf (fp,”\n\n\t\t РЕЗУЛЬТАТЫ МОДЕЛИРОВАНИЯ “); // Моделирование а)простая очередь, б) приоритетная очередь for (pp=0;pp<2;pp++) { srand(2501); //инициализация модели for (j=0;j<2;j++) { tp[j]=-TP[j]*lg(); np[j]=n[j]=nm[j]=0; sum[j]=tq[j]=0.0; } t=0.0; tw=TM; nmax=0; //основной цикл while (t<TM) { if (tp[0]>tp[1]) j=1; //событие else j=0; if (tp[j]>tw) ts=tw; else ts=tp[j]; dt=ts-t; t=ts; //подведение итогов for (i=0;i<2;i++) { sum[i]+=dt*n[i]; if (n[i]>nm[i]) nm[i]=n[i]; } if (n[0]+n[1]>nmax) nmax=n[0]+n[1]; //какое событие? if (ts==tp[j]) //новая заявка { tp[j]-=TP[j]*lg(); np[j]++; if (tw==TM) tw=t-TW[j]*lg(); else { if (n[j]==99) { fprintf (fp,”\n очередь переполнена!”); goto end; } st[n[j]++] [j]=t; } continue; } else //заявка выполнена { if (n[0]==0&&n[1]==0) //очередь пуста { tw=TM; continue;} //очередь не пуста, выбираем номер очереди if (n[0]==0) j=1; else if(n[1]==0) j=o; else if(pp) j=0; else if (st[0][0]<st[0][1]) j=0; else j=1; tqq=t-st[0][j]; //время ожидания if (tqq>tq[j]); tq[j]=tqq; tw=t-TW[j]*lg(); for (i=1;i<n[j];i++) st[i-1][j]=st[i][i]; //сдвиг очереди n[j]--; } }//конец основного цикла // обработка результатов моделирования for (j=0;j<2;j++) { tqs[j]=sum[j]/np[j]; ns[j]=sum[j]/TM; } tss=sum[0]+sum[1])/(np[0]+np[1]); nss=(sum[0]+sum[1])/TM; tqm=tq[0]>tq[1]? tq[0]:tq[1]; //печать результатов моделирования if (pp==0) fprintf (fp,”\n простая очередь”); else fprintf (fp,”\n\t Приоритетная очередь”); fprintf (fp,”\n время ожидания”); fprintf (fp,”\n среднее[0]=%5.2f среднее[1]=%5.2f” “ среднее=%5.2f”, tqs[0], tqs[1],tss); fprintf (fp,”\n max [0]=%5.2f max[1]=%5.2f” “ max=%5.2f”, tq[0], tq[1],tqm); fprintf (fp,”\n длина очереди: “); fprintf (fp,”\n средняя[0]=%5.2f средняя[1]=%5.2f” “ средняя=%5.2f”, ns [0], ns[1],nss); fprintf (fp,”\n max [0]=%2d max[1]=%2d” “ max=%2d”, nm[0], nm[1],nmax); }//конец цикла по типу очереди end: fclose(fp); Хочется получить то же самое, но в С#, кто нибудь подскажет как это можно попроще сделать? |
![]() |
![]() |
![]() |
#2 |
Новичок
Джуниор
Регистрация: 13.05.2009
Сообщений: 2
|
![]()
Совсем никто не может помочь? -(
|
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 22.12.2007
Сообщений: 204
|
![]()
ПОМОГУ ОБЪЕСНИТЬ ПО СМЫСЛУ КАЖДУЮ СТРОЧКУ ПРОГРАММЫ
Пример: Код:
Последний раз редактировалось ben95; 13.05.2009 в 23:19. |
![]() |
![]() |
![]() |
#4 |
Новичок
Джуниор
Регистрация: 22.12.2007
Сообщений: 204
|
![]() Код:
|
![]() |
![]() |
![]() |
#5 |
Новичок
Джуниор
Регистрация: 22.12.2007
Сообщений: 204
|
![]()
Кстате чем C++ исходник не устаивает?
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Конвертер из png в jpg или gif или bmp | Квэнди | Мультимедиа в Delphi | 8 | 04.10.2011 22:26 |
C++ или С# | r2n | Фриланс | 2 | 17.02.2009 11:32 |
Метод Монте-Карло литература или примеры программ на С++ или С | MIKI | Помощь студентам | 2 | 09.12.2008 13:33 |
Требуется программист Delphi или VB или C#. | Анна Долбилина | Фриланс | 11 | 04.08.2008 10:04 |