Rapture
دوشنبه 23 اردیبهشت 1392, 17:23 عصر
سلام
من توی برنامه نویسی خیلی تازه کار هستم. الان میخوام یک برنامه ی random walk براساس brownian motion بنویسم ولی متاسفانه نمیدونم چطوری باید شرط های کافی رو برای برنامه مشخص کنم.
برنامه باید در یک آرایه ی دو بعدی 100 در 100 شروع بشه و از [0,0] شروع به حرکت بکنه. تعداد قدم ها رو هم باید به عنوان n از ورودی بگیره. بعد باید به شکل اتفاقی به یکی از مسیر های چپ، راست، بالا یا پایین حرکت بکنه. بعد باید بسنجه و ببینه کدوم یکی از مسیر ها براش باز هست و یا اینکه از آرایه خارج میشه یا نه. در صورتی که اینطور نبود به حرکت ادامه میده (مسیر باید اتفاقی باشه). اینکار رو باید تا زمانی که امکان داره انجام بده.
static void Main(string[] args)
{
int row = 100;
int col = 100;
int[,] matrix;
matrix = new int[row, col];
int n;
Console.WriteLine("Enter the number of steps:");
n = int.Parse(Console.ReadLine());
const int up = 1;
const int down = 2;
const int left = 3;
const int right = 4;
int number=0;
for (int i=0;i<100;i++)
{
for (int j = 0; j < 100; j++)
matrix[i, j] = number;
}
Random randomdirection = new Random();
for (int counter = 0; counter < n; counter++)
{
int direction = randomdirection.Next(1,5);
while (direction==1)
{
if ((++row)<100 && matrix[++row,col]==0)
{
matrix[++row,col]=++number;
}
}
}
}
این کل کدی هست که من تونستم بنویسم.
متاسفانه واقعا تازه کار هستم در این زمینه.
من توی برنامه نویسی خیلی تازه کار هستم. الان میخوام یک برنامه ی random walk براساس brownian motion بنویسم ولی متاسفانه نمیدونم چطوری باید شرط های کافی رو برای برنامه مشخص کنم.
برنامه باید در یک آرایه ی دو بعدی 100 در 100 شروع بشه و از [0,0] شروع به حرکت بکنه. تعداد قدم ها رو هم باید به عنوان n از ورودی بگیره. بعد باید به شکل اتفاقی به یکی از مسیر های چپ، راست، بالا یا پایین حرکت بکنه. بعد باید بسنجه و ببینه کدوم یکی از مسیر ها براش باز هست و یا اینکه از آرایه خارج میشه یا نه. در صورتی که اینطور نبود به حرکت ادامه میده (مسیر باید اتفاقی باشه). اینکار رو باید تا زمانی که امکان داره انجام بده.
static void Main(string[] args)
{
int row = 100;
int col = 100;
int[,] matrix;
matrix = new int[row, col];
int n;
Console.WriteLine("Enter the number of steps:");
n = int.Parse(Console.ReadLine());
const int up = 1;
const int down = 2;
const int left = 3;
const int right = 4;
int number=0;
for (int i=0;i<100;i++)
{
for (int j = 0; j < 100; j++)
matrix[i, j] = number;
}
Random randomdirection = new Random();
for (int counter = 0; counter < n; counter++)
{
int direction = randomdirection.Next(1,5);
while (direction==1)
{
if ((++row)<100 && matrix[++row,col]==0)
{
matrix[++row,col]=++number;
}
}
}
}
این کل کدی هست که من تونستم بنویسم.
متاسفانه واقعا تازه کار هستم در این زمینه.