PDA

View Full Version : چند اشکال در زمینه ی c++



daneshjo IT
یک شنبه 13 خرداد 1386, 16:57 عصر
با سلام خدمت تمامی دوستان.من جند سوال در زمینه ی c++ دارم .

در الگوریتم مساله ی MAZE ( که در این مساله یک ماتریس دو بعدی با اعداد 0و1 پر شده است و ما میخوهیم یا شروع از یک راس به راس مقاب ماتریس برویم با علم به اینکه اعداد 0 به معنای دیوار است و فقط از خانه هایی که عدد آنها 1 است میتوان عبور کرد)ا

1)گر بخواهم یک ماتریس 2 بعدی را با استفاده از تابع Random با اعداد (0و1) پرکنم چه کار باید کنم؟
2)چگونه میتوان تابعی نوشت که مسیر حرکت را پیدا کرده و آن را به صورت دنباله ای از خانه های ماتریس نمایش دهد؟

اشکال من در رابطه با این سوال بیشتر در زمینه ی نوشتن code آن ها می باشد.

kiani.mehdi
یک شنبه 13 خرداد 1386, 18:45 عصر
برای پر کردن آرایه به صورت random



#include<iostream.h>
#include<conio.h>
#include<stdlib.H>
int main()
{
clrscr();
srand(time(0));
int maze[2][2]={0};
int i,j=0;
for( i=0;i<2;i++)
for(j=0;j<2;j++)
maze[i][j] =random(2);
for( i=0;i<2;i++)
for(j=0;j<2;j++)
cout<<maze[i][j]<<endl;
getch();

return 0;
}



توضیحات :
کد


random(2)

برای اینه که یک عدد کمتر از 2 بر گردونه یعنی همون 1 یا 0

کد



srand(time(0))

برای تغییر seed هستش به جهت اینکه اعداد تصادفی در هر بار اجرا متفاوت باشند
اگه این کد را نذاری هر بار اجرا اعداد تصادفی تولید شده مثل هم هستند


برای سوال دومت هم کافیه که یکمی بشینید و فکر کنید
حتما به جواب میرسید


موفق باشید
مهدی کیانی

kiani.mehdi
یک شنبه 13 خرداد 1386, 18:47 عصر
برای سوال دومت هم کافیه که یکمی بشینید و فکر کنید
ختما به جواب میرسید

daneshjo IT
یک شنبه 13 خرداد 1386, 20:23 عصر
از اینکه جواب دادین ممنون

emad_67
یک شنبه 13 خرداد 1386, 20:40 عصر
در مورد سوال دومت برای ایجاد مسیر ابتدا سطری رو که می خوای از اون جا مسیر شروع بشه بده به تابع بده و مقدار ستون هم که معلومه در ابتدای مسیر باید 0 باشه بعد چهار تا جهت برای ایجاد مسیر در نظر بگیر (مثلا اعداد 1تا 4) و بعد توسط تابع rand اعدادی بین 1 تا 4 تولید کن و بعد تو یه حلقه while مشخص کن که تا وقتی y به ستون آخر نرسیده همینطور حلقه ادامه پیدا کنه و در جهات مختلف مسیر ایجاد شه